[AETHER-1032] Backport AETHER-538 to fabric.p4

AETHER-538 introduces a new design for the egress pipeline
where the tagged ports are explicitily matched in the
egress_vlan table. Moreover, no match means dropped with
this new design.

Change-Id: I4b7ac342d0650b8726f224e240933e15d9bb6e25
diff --git a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt
index cff4d2f..8118037 100644
--- a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt
+++ b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt
@@ -3,179 +3,6 @@
 }
 tables {
   preamble {
-    id: 33586632
-    name: "FabricIngress.spgw_ingress.downlink_filter_table"
-    alias: "downlink_filter_table"
-  }
-  match_fields {
-    id: 1
-    name: "ipv4_prefix"
-    bitwidth: 32
-    match_type: LPM
-  }
-  action_refs {
-    id: 16819938
-  }
-  const_default_action_id: 16819938
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33567046
-    name: "FabricIngress.spgw_ingress.uplink_filter_table"
-    alias: "uplink_filter_table"
-  }
-  match_fields {
-    id: 1
-    name: "gtp_ipv4_dst"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16819938
-  }
-  const_default_action_id: 16819938
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33586958
-    name: "FabricIngress.spgw_ingress.downlink_pdr_lookup"
-    alias: "downlink_pdr_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "ue_addr"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16799934
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly"
-    scope: DEFAULT_ONLY
-  }
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33587070
-    name: "FabricIngress.spgw_ingress.uplink_pdr_lookup"
-    alias: "uplink_pdr_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "tunnel_ipv4_dst"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  match_fields {
-    id: 2
-    name: "teid"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  match_fields {
-    id: 3
-    name: "ue_addr"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16799934
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly"
-    scope: DEFAULT_ONLY
-  }
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33582573
-    name: "FabricIngress.spgw_ingress.flexible_pdr_lookup"
-    alias: "flexible_pdr_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "spgw_direction"
-    bitwidth: 2
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 2
-    name: "tunnel_ipv4_dst"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 3
-    name: "teid"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 4
-    name: "ipv4_src"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 5
-    name: "ipv4_dst"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 6
-    name: "ip_proto"
-    bitwidth: 8
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 7
-    name: "l4_sport"
-    bitwidth: 16
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 8
-    name: "l4_dport"
-    bitwidth: 16
-    match_type: TERNARY
-  }
-  action_refs {
-    id: 16799934
-  }
-  const_default_action_id: 16799934
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33613200
-    name: "FabricIngress.spgw_ingress.far_lookup"
-    alias: "far_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "far_id"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16834935
-  }
-  action_refs {
-    id: 16787606
-  }
-  const_default_action_id: 16834935
-  size: 1024
-}
-tables {
-  preamble {
     id: 33611649
     name: "FabricIngress.filtering.ingress_port_vlan"
     alias: "ingress_port_vlan"
@@ -539,6 +366,109 @@
 }
 tables {
   preamble {
+    id: 33557250
+    name: "FabricIngress.spgw.interfaces"
+    alias: "interfaces"
+  }
+  match_fields {
+    id: 1
+    name: "ipv4_dst_addr"
+    bitwidth: 32
+    match_type: LPM
+  }
+  match_fields {
+    id: 2
+    name: "gtpu_is_valid"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16810012
+  }
+  action_refs {
+    id: 16783042
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 16783042
+  size: 128
+}
+tables {
+  preamble {
+    id: 33566601
+    name: "FabricIngress.spgw.downlink_pdrs"
+    alias: "downlink_pdrs"
+  }
+  match_fields {
+    id: 1
+    name: "ue_addr"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800614
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33606410
+    name: "FabricIngress.spgw.uplink_pdrs"
+    alias: "uplink_pdrs"
+  }
+  match_fields {
+    id: 1
+    name: "tunnel_ipv4_dst"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "teid"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800614
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33599560
+    name: "FabricIngress.spgw.fars"
+    alias: "fars"
+  }
+  match_fields {
+    id: 1
+    name: "far_id"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16820307
+  }
+  action_refs {
+    id: 16814785
+  }
+  action_refs {
+    id: 16814681
+  }
+  const_default_action_id: 16820307
+  size: 2048
+}
+tables {
+  preamble {
     id: 33599342
     name: "FabricEgress.egress_next.egress_vlan"
     alias: "egress_vlan"
@@ -556,14 +486,17 @@
     match_type: EXACT
   }
   action_refs {
+    id: 16807339
+  }
+  action_refs {
     id: 16790030
   }
   action_refs {
-    id: 16819938
+    id: 16787838
     annotations: "@defaultonly"
     scope: DEFAULT_ONLY
   }
-  const_default_action_id: 16819938
+  const_default_action_id: 16787838
   direct_resource_ids: 318827144
   size: 2048
 }
@@ -583,72 +516,6 @@
 }
 actions {
   preamble {
-    id: 16799934
-    name: "FabricIngress.spgw_ingress.set_pdr_attributes"
-    alias: "set_pdr_attributes"
-  }
-  params {
-    id: 1
-    name: "ctr_id"
-    bitwidth: 32
-  }
-  params {
-    id: 2
-    name: "far_id"
-    bitwidth: 32
-  }
-}
-actions {
-  preamble {
-    id: 16834935
-    name: "FabricIngress.spgw_ingress.load_normal_far_attributes"
-    alias: "load_normal_far_attributes"
-  }
-  params {
-    id: 1
-    name: "drop"
-    bitwidth: 1
-  }
-  params {
-    id: 2
-    name: "notify_cp"
-    bitwidth: 1
-  }
-}
-actions {
-  preamble {
-    id: 16787606
-    name: "FabricIngress.spgw_ingress.load_tunnel_far_attributes"
-    alias: "load_tunnel_far_attributes"
-  }
-  params {
-    id: 1
-    name: "drop"
-    bitwidth: 1
-  }
-  params {
-    id: 2
-    name: "notify_cp"
-    bitwidth: 1
-  }
-  params {
-    id: 3
-    name: "tunnel_src_addr"
-    bitwidth: 32
-  }
-  params {
-    id: 4
-    name: "tunnel_dst_addr"
-    bitwidth: 32
-  }
-  params {
-    id: 5
-    name: "teid"
-    bitwidth: 32
-  }
-}
-actions {
-  preamble {
     id: 16836487
     name: "FabricIngress.filtering.deny"
     alias: "deny"
@@ -763,7 +630,7 @@
   preamble {
     id: 16820765
     name: "FabricIngress.acl.drop"
-    alias: "drop"
+    alias: "acl.drop"
   }
 }
 actions {
@@ -884,11 +751,157 @@
 }
 actions {
   preamble {
+    id: 16810012
+    name: "FabricIngress.spgw.load_iface"
+    alias: "load_iface"
+  }
+  params {
+    id: 1
+    name: "src_iface"
+    bitwidth: 8
+  }
+}
+actions {
+  preamble {
+    id: 16783042
+    name: "FabricIngress.spgw.iface_miss"
+    alias: "iface_miss"
+  }
+}
+actions {
+  preamble {
+    id: 16800614
+    name: "FabricIngress.spgw.load_pdr"
+    alias: "load_pdr"
+  }
+  params {
+    id: 1
+    name: "ctr_id"
+    bitwidth: 32
+  }
+  params {
+    id: 2
+    name: "far_id"
+    bitwidth: 32
+  }
+  params {
+    id: 3
+    name: "needs_gtpu_decap"
+    bitwidth: 1
+  }
+}
+actions {
+  preamble {
+    id: 16820307
+    name: "FabricIngress.spgw.load_normal_far"
+    alias: "load_normal_far"
+  }
+  params {
+    id: 1
+    name: "drop"
+    bitwidth: 1
+  }
+  params {
+    id: 2
+    name: "notify_cp"
+    bitwidth: 1
+  }
+}
+actions {
+  preamble {
+    id: 16814785
+    name: "FabricIngress.spgw.load_tunnel_far"
+    alias: "load_tunnel_far"
+  }
+  params {
+    id: 1
+    name: "drop"
+    bitwidth: 1
+  }
+  params {
+    id: 2
+    name: "notify_cp"
+    bitwidth: 1
+  }
+  params {
+    id: 3
+    name: "tunnel_src_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "tunnel_src_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 5
+    name: "tunnel_dst_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 6
+    name: "teid"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 16814681
+    name: "FabricIngress.spgw.load_dbuf_far"
+    alias: "load_dbuf_far"
+  }
+  params {
+    id: 1
+    name: "drop"
+    bitwidth: 1
+  }
+  params {
+    id: 2
+    name: "notify_cp"
+    bitwidth: 1
+  }
+  params {
+    id: 3
+    name: "tunnel_src_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "tunnel_src_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 5
+    name: "tunnel_dst_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 6
+    name: "teid"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 16807339
+    name: "FabricEgress.egress_next.push_vlan"
+    alias: "push_vlan"
+  }
+}
+actions {
+  preamble {
     id: 16790030
     name: "FabricEgress.egress_next.pop_vlan"
     alias: "pop_vlan"
   }
 }
+actions {
+  preamble {
+    id: 16787838
+    name: "FabricEgress.egress_next.drop"
+    alias: "egress_next.drop"
+  }
+}
 action_profiles {
   preamble {
     id: 285217164
@@ -902,25 +915,25 @@
 }
 counters {
   preamble {
-    id: 302029884
-    name: "FabricIngress.spgw_ingress.pdr_counter"
-    alias: "spgw_ingress.pdr_counter"
+    id: 302043952
+    name: "FabricIngress.spgw.pdr_counter"
+    alias: "FabricIngress.spgw.pdr_counter"
   }
   spec {
     unit: BOTH
   }
-  size: 1024
+  size: 2048
 }
 counters {
   preamble {
-    id: 302012289
-    name: "FabricEgress.spgw_egress.pdr_counter"
-    alias: "spgw_egress.pdr_counter"
+    id: 302049491
+    name: "FabricEgress.spgw.pdr_counter"
+    alias: "FabricEgress.spgw.pdr_counter"
   }
   spec {
     unit: BOTH
   }
-  size: 1024
+  size: 2048
 }
 direct_counters {
   preamble {
diff --git a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/context.json b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/context.json
index f93a998..b104e73 100644
--- a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/context.json
+++ b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "Thu Jul 16 02:42:51 2020",
+  "build_date": "Wed Jan  6 08:37:38 2021",
   "schema_version": "1.8.4",
   "compiler_version": "9.0.0",
   "target": "tofino",
@@ -190,60 +190,46 @@
         "parser_state_id": 13
       },
       {
-        "parser_name": "parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 229 ],
         "uses_pvs": false,
-        "parser_state_id": 13
+        "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 228 ],
         "uses_pvs": false,
         "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 227 ],
         "uses_pvs": false,
-        "parser_state_id": 15
+        "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 226 ],
         "uses_pvs": false,
-        "parser_state_id": 15
+        "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_inner_udp",
         "match_registers": [],
         "tcam_rows": [ 225 ],
         "uses_pvs": false,
         "parser_state_id": 15
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_icmp",
         "match_registers": [],
         "tcam_rows": [ 224 ],
         "uses_pvs": false,
-        "parser_state_id": 15
-      },
-      {
-        "parser_name": "parse_inner_udp",
-        "match_registers": [],
-        "tcam_rows": [ 223 ],
-        "uses_pvs": false,
         "parser_state_id": 16
-      },
-      {
-        "parser_name": "parse_icmp",
-        "match_registers": [],
-        "tcam_rows": [ 222 ],
-        "uses_pvs": false,
-        "parser_state_id": 17
       }
     ],
     "egress": [
@@ -283,7 +269,7 @@
         "parser_state_id": 3
       },
       {
-        "parser_name": "start",
+        "parser_name": "$bridged_metadata.$split_1",
         "match_registers": [],
         "tcam_rows": [ 250 ],
         "uses_pvs": false,
@@ -294,17 +280,17 @@
         "match_registers": [],
         "tcam_rows": [ 249 ],
         "uses_pvs": false,
-        "parser_state_id": 4
+        "parser_state_id": 5
       },
       {
-        "parser_name": "parse_packet_out",
+        "parser_name": "start",
         "match_registers": [],
         "tcam_rows": [ 248 ],
         "uses_pvs": false,
         "parser_state_id": 5
       },
       {
-        "parser_name": "parse_ethernet",
+        "parser_name": "parse_packet_out",
         "match_registers": [],
         "tcam_rows": [ 247 ],
         "uses_pvs": false,
@@ -315,24 +301,24 @@
         "match_registers": [],
         "tcam_rows": [ 246 ],
         "uses_pvs": false,
-        "parser_state_id": 6
+        "parser_state_id": 7
       },
       {
         "parser_name": "parse_ethernet",
         "match_registers": [],
         "tcam_rows": [ 245 ],
         "uses_pvs": false,
-        "parser_state_id": 6
+        "parser_state_id": 7
       },
       {
         "parser_name": "parse_ethernet",
         "match_registers": [],
         "tcam_rows": [ 244 ],
         "uses_pvs": false,
-        "parser_state_id": 6
+        "parser_state_id": 7
       },
       {
-        "parser_name": "parse_vlan_tag",
+        "parser_name": "parse_ethernet",
         "match_registers": [],
         "tcam_rows": [ 243 ],
         "uses_pvs": false,
@@ -343,17 +329,17 @@
         "match_registers": [],
         "tcam_rows": [ 242 ],
         "uses_pvs": false,
-        "parser_state_id": 7
+        "parser_state_id": 8
       },
       {
-        "parser_name": "parse_inner_vlan_tag",
+        "parser_name": "parse_vlan_tag",
         "match_registers": [],
         "tcam_rows": [ 241 ],
         "uses_pvs": false,
         "parser_state_id": 8
       },
       {
-        "parser_name": "parse_eth_type",
+        "parser_name": "parse_inner_vlan_tag",
         "match_registers": [],
         "tcam_rows": [ 240 ],
         "uses_pvs": false,
@@ -364,17 +350,17 @@
         "match_registers": [],
         "tcam_rows": [ 239 ],
         "uses_pvs": false,
-        "parser_state_id": 9
+        "parser_state_id": 10
       },
       {
         "parser_name": "parse_eth_type",
         "match_registers": [],
         "tcam_rows": [ 238 ],
         "uses_pvs": false,
-        "parser_state_id": 9
+        "parser_state_id": 10
       },
       {
-        "parser_name": "parse_mpls",
+        "parser_name": "parse_eth_type",
         "match_registers": [],
         "tcam_rows": [ 237 ],
         "uses_pvs": false,
@@ -385,38 +371,38 @@
         "match_registers": [],
         "tcam_rows": [ 236 ],
         "uses_pvs": false,
-        "parser_state_id": 10
+        "parser_state_id": 11
       },
       {
-        "parser_name": "parse_ipv4",
+        "parser_name": "parse_mpls",
         "match_registers": [],
         "tcam_rows": [ 235 ],
         "uses_pvs": false,
         "parser_state_id": 11
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 234 ],
         "uses_pvs": false,
         "parser_state_id": 12
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 233 ],
         "uses_pvs": false,
         "parser_state_id": 12
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 232 ],
         "uses_pvs": false,
         "parser_state_id": 12
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 231 ],
         "uses_pvs": false,
@@ -430,7 +416,7 @@
         "parser_state_id": 13
       },
       {
-        "parser_name": "parse_udp",
+        "parser_name": "parse_tcp.$split_0",
         "match_registers": [],
         "tcam_rows": [ 229 ],
         "uses_pvs": false,
@@ -441,10 +427,10 @@
         "match_registers": [],
         "tcam_rows": [ 228 ],
         "uses_pvs": false,
-        "parser_state_id": 14
+        "parser_state_id": 15
       },
       {
-        "parser_name": "parse_gtpu",
+        "parser_name": "parse_udp",
         "match_registers": [],
         "tcam_rows": [ 227 ],
         "uses_pvs": false,
@@ -455,63 +441,70 @@
         "match_registers": [],
         "tcam_rows": [ 226 ],
         "uses_pvs": false,
-        "parser_state_id": 15
+        "parser_state_id": 16
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 225 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 224 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 223 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 222 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
         "parser_name": "parse_inner_udp",
         "match_registers": [],
         "tcam_rows": [ 221 ],
         "uses_pvs": false,
-        "parser_state_id": 17
+        "parser_state_id": 18
       },
       {
         "parser_name": "parse_icmp",
         "match_registers": [],
         "tcam_rows": [ 220 ],
         "uses_pvs": false,
-        "parser_state_id": 18
+        "parser_state_id": 19
+      },
+      {
+        "parser_name": "parse_icmp.$split_0",
+        "match_registers": [],
+        "tcam_rows": [ 219 ],
+        "uses_pvs": false,
+        "parser_state_id": 20
       },
       {
         "parser_name": "$mirrored",
         "match_registers": [],
-        "tcam_rows": [ 219 ],
+        "tcam_rows": [ 218 ],
         "uses_pvs": false,
-        "parser_state_id": 19
+        "parser_state_id": 21
       },
       {
         "parser_name": "$mirror_field_list_ingress_1",
         "match_registers": [],
-        "tcam_rows": [ 218 ],
+        "tcam_rows": [ 217 ],
         "uses_pvs": false,
-        "parser_state_id": 20
+        "parser_state_id": 22
       }
     ]
   },
@@ -523,29 +516,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -558,15 +593,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -579,15 +628,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -600,15 +705,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -621,18 +754,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -642,29 +789,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -677,8 +838,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -698,11 +859,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -719,7 +880,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -740,43 +901,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -789,43 +922,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -838,43 +943,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -887,40 +964,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -936,36 +1031,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -985,43 +1108,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -1034,15 +1157,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -1055,26 +1206,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -1090,7 +1249,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1104,7 +1590,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1121,46 +1607,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1174,7 +1625,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1191,16 +1642,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -1209,12 +1658,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -1226,33 +1673,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -1261,12 +1692,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -1282,11 +1840,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1303,11 +1882,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -1324,11 +1924,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -1345,343 +1945,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -1691,7 +2061,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1712,21 +2082,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1747,7 +2117,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1776,8 +2160,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -1790,7 +2174,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1804,7 +2188,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1818,7 +2202,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -1839,8 +2223,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -1853,7 +2237,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -1865,20 +2249,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -1888,7 +2258,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1902,7 +2272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1918,33 +2288,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1958,7 +2314,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1972,7 +2328,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1984,20 +2340,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -2007,7 +2349,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2028,7 +2370,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2049,7 +2391,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -2063,8 +2482,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -2077,15 +2496,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2094,11 +2513,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2115,65 +2534,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -2184,8 +2567,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -2194,92 +2577,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -2289,7 +2602,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -2310,7 +2623,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2331,29 +2644,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2366,29 +2679,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2401,8 +2714,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -2422,273 +2735,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -2705,11 +2752,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2726,11 +2773,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2747,11 +2794,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2768,33 +2815,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -2814,7 +3155,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -2828,7 +3169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2842,7 +3183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2856,7 +3197,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2870,7 +3211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2884,7 +3225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2898,7 +3239,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2912,7 +3253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2933,124 +3274,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3064,7 +3288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3078,7 +3302,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -3092,7 +3316,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -3109,11 +3333,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -3127,7 +3351,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3141,7 +3365,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -3155,7 +3379,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3172,46 +3396,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3232,175 +3421,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3423,88 +3444,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -3515,7 +3459,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -3526,7 +3470,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -3537,8 +3481,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -3548,7 +3492,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -3559,8 +3503,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -3581,8 +3525,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -3603,8 +3547,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -3625,8 +3569,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -3647,8 +3591,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -3669,8 +3613,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -3691,7 +3635,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -3706,15 +3782,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -3723,11 +3799,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3748,7 +3824,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -3760,7 +3836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -3772,7 +3848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3784,7 +3860,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3796,7 +3872,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -3808,7 +3884,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3820,7 +3896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -3832,7 +3908,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3844,7 +3920,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -3863,7 +3939,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3884,7 +3960,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3905,7 +3981,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3947,7 +4023,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3968,7 +4044,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3982,7 +4058,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3996,7 +4072,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4017,11 +4093,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4031,11 +4107,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4052,84 +4128,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -4139,7 +4191,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -4181,7 +4233,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -4195,7 +4247,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -4214,70 +4266,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4294,15 +4283,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -4315,16 +4304,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -4336,30 +4379,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -4368,12 +4397,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -4382,7 +4411,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4396,7 +4425,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4413,11 +4442,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -4431,7 +4460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4445,7 +4474,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -4462,11 +4491,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4483,11 +4512,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4508,7 +4558,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4529,7 +4579,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4550,7 +4600,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4571,11 +4621,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4585,11 +4635,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4599,11 +4649,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4613,11 +4663,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4627,11 +4677,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4641,11 +4691,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4655,11 +4705,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4676,11 +4726,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4690,11 +4740,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4711,11 +4761,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -4732,129 +4782,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -4862,19 +4880,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -4889,7 +4901,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4903,7 +5211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -4917,7 +5225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4931,7 +5239,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -4948,17 +5256,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -4966,29 +5279,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -4997,17 +5377,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -5015,13 +5395,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -5029,13 +5409,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -5043,13 +5444,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -5064,90 +5500,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -5164,11 +5517,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5189,7 +5619,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5210,14 +5640,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -5231,14 +5671,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -5252,13 +5702,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -5273,10 +5807,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -5295,28 +5829,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5329,29 +5849,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5364,29 +5870,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5399,32 +5905,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -5434,15 +5926,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5455,8 +5961,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5476,8 +5982,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5493,18 +6034,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -5518,8 +6224,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5539,8 +6245,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -5560,8 +6266,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5581,8 +6287,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -5602,32 +6308,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -5637,32 +6329,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -5672,7 +6350,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5689,11 +6430,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5719,29 +6460,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5754,15 +6537,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5775,15 +6572,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5796,15 +6649,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5817,18 +6698,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -5838,29 +6733,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5873,8 +6782,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5894,11 +6803,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -5915,7 +6824,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5936,43 +6845,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5985,43 +6866,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6034,43 +6887,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6083,40 +6908,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -6132,36 +6975,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -6181,43 +7052,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6230,15 +7101,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6251,26 +7150,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -6286,7 +7193,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6300,7 +7534,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6317,46 +7551,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6370,7 +7569,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6387,16 +7586,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -6405,12 +7602,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -6422,33 +7617,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6457,12 +7636,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -6478,11 +7784,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6499,11 +7826,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6520,11 +7868,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6541,343 +7889,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -6887,7 +8005,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -6908,21 +8026,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6943,7 +8061,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -6972,8 +8104,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -6986,7 +8118,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -7000,7 +8132,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7014,7 +8146,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -7035,8 +8167,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -7049,7 +8181,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -7061,20 +8193,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -7084,7 +8202,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -7098,7 +8216,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7114,33 +8232,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7154,7 +8258,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7168,7 +8272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7180,20 +8284,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -7203,7 +8293,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7224,7 +8314,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7245,7 +8335,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -7259,8 +8426,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -7273,15 +8440,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7290,11 +8457,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7311,65 +8478,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -7380,8 +8511,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -7390,92 +8521,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -7485,7 +8546,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -7506,7 +8567,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7527,29 +8588,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7562,29 +8623,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7597,8 +8658,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -7618,273 +8679,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -7901,11 +8696,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7922,11 +8717,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7943,11 +8738,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7964,33 +8759,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -8010,7 +9099,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8024,7 +9113,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8038,7 +9127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8052,7 +9141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8066,7 +9155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8080,7 +9169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8094,7 +9183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8108,7 +9197,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8129,124 +9218,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8260,7 +9232,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8274,7 +9246,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8288,7 +9260,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -8305,11 +9277,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -8323,7 +9295,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8337,7 +9309,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8351,7 +9323,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8368,46 +9340,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8428,175 +9365,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8619,88 +9388,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -8711,7 +9403,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -8722,7 +9414,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -8733,8 +9425,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -8744,7 +9436,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -8755,8 +9447,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -8777,8 +9469,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -8799,8 +9491,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -8821,8 +9513,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -8843,8 +9535,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -8865,8 +9557,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -8887,7 +9579,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -8902,15 +9726,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -8919,11 +9743,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8944,7 +9768,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -8956,7 +9780,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -8968,7 +9792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8980,7 +9804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8992,7 +9816,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -9004,7 +9828,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9016,7 +9840,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -9028,7 +9852,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9040,7 +9864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -9059,7 +9883,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9080,7 +9904,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9101,7 +9925,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9143,7 +9967,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -9164,7 +9988,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -9178,7 +10002,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -9192,7 +10016,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9213,11 +10037,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9227,11 +10051,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9248,84 +10072,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -9335,7 +10135,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -9377,7 +10177,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -9391,7 +10191,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -9410,70 +10210,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9490,15 +10227,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -9511,16 +10248,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -9532,30 +10323,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -9564,12 +10341,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -9578,7 +10355,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9592,7 +10369,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9609,11 +10386,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -9627,7 +10404,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9641,7 +10418,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -9658,11 +10435,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9679,11 +10456,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9704,7 +10502,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9725,7 +10523,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9746,7 +10544,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9767,11 +10565,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9781,11 +10579,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9795,11 +10593,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9809,11 +10607,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9823,11 +10621,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9837,11 +10635,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9851,11 +10649,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9872,11 +10670,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9886,11 +10684,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9907,11 +10705,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -9928,129 +10726,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -10058,19 +10824,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10085,7 +10845,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10099,7 +11155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -10113,7 +11169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -10127,7 +11183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -10144,17 +11200,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -10162,29 +11223,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10193,17 +11321,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -10211,13 +11339,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10225,13 +11353,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -10239,13 +11388,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10260,90 +11444,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -10360,11 +11461,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10385,7 +11563,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10406,14 +11584,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10427,14 +11615,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10448,13 +11646,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -10469,10 +11751,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -10491,28 +11773,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10525,29 +11793,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10560,29 +11814,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10595,32 +11849,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -10630,15 +11870,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10651,8 +11905,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10672,8 +11926,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10689,18 +11978,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10714,8 +12168,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10735,8 +12189,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -10756,8 +12210,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10777,8 +12231,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -10798,32 +12252,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -10833,32 +12273,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -10868,7 +12294,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10885,11 +12374,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10915,29 +12404,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10950,15 +12481,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10971,15 +12516,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10992,15 +12593,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11013,18 +12642,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -11034,29 +12677,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11069,8 +12726,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -11090,11 +12747,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -11111,7 +12768,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11132,43 +12789,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11181,43 +12810,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11230,43 +12831,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11279,40 +12852,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -11328,36 +12919,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -11377,43 +12996,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11426,15 +13045,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11447,26 +13094,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -11482,7 +13137,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11496,7 +13478,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11513,46 +13495,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11566,7 +13513,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11583,16 +13530,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -11601,12 +13546,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -11618,33 +13561,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11653,12 +13580,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -11674,11 +13728,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11695,11 +13770,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -11716,11 +13812,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -11737,343 +13833,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -12083,7 +13949,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12104,21 +13970,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12139,7 +14005,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12168,8 +14048,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -12182,7 +14062,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12196,7 +14076,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12210,7 +14090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -12231,8 +14111,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -12245,7 +14125,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -12257,20 +14137,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -12280,7 +14146,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12294,7 +14160,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12310,33 +14176,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12350,7 +14202,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12364,7 +14216,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12376,20 +14228,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -12399,7 +14237,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12420,7 +14258,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12441,7 +14279,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -12455,8 +14370,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -12469,15 +14384,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -12486,11 +14401,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12507,65 +14422,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -12576,8 +14455,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -12586,92 +14465,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -12681,7 +14490,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -12702,7 +14511,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12723,29 +14532,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -12758,29 +14567,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -12793,8 +14602,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -12814,273 +14623,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13097,11 +14640,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13118,11 +14661,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13139,11 +14682,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13160,33 +14703,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -13206,7 +15043,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -13220,7 +15057,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13234,7 +15071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13248,7 +15085,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13262,7 +15099,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13276,7 +15113,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13290,7 +15127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13304,7 +15141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13325,124 +15162,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13456,7 +15176,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -13470,7 +15190,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13484,7 +15204,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -13501,11 +15221,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -13519,7 +15239,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -13533,7 +15253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13547,7 +15267,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13564,46 +15284,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13624,175 +15309,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13815,88 +15332,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -13907,7 +15347,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -13918,7 +15358,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -13929,8 +15369,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -13940,7 +15380,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -13951,8 +15391,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -13973,8 +15413,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -13995,8 +15435,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -14017,8 +15457,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -14039,8 +15479,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -14061,8 +15501,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -14083,7 +15523,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -14098,15 +15670,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -14115,11 +15687,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14140,7 +15712,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -14152,7 +15724,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -14164,7 +15736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -14176,7 +15748,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14188,7 +15760,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -14200,7 +15772,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14212,7 +15784,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -14224,7 +15796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14236,7 +15808,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -14255,7 +15827,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14276,7 +15848,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14297,7 +15869,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14339,7 +15911,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -14360,7 +15932,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -14374,7 +15946,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -14388,7 +15960,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14409,11 +15981,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14423,11 +15995,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14444,84 +16016,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -14531,7 +16079,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -14573,7 +16121,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -14587,7 +16135,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -14606,70 +16154,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14686,15 +16171,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -14707,16 +16192,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -14728,30 +16267,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -14760,12 +16285,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -14774,7 +16299,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14788,7 +16313,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14805,11 +16330,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -14823,7 +16348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14837,7 +16362,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -14854,11 +16379,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14875,11 +16400,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14900,7 +16446,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14921,7 +16467,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -14942,7 +16488,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -14963,11 +16509,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14977,11 +16523,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14991,11 +16537,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15005,11 +16551,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15019,11 +16565,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15033,11 +16579,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15047,11 +16593,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15068,11 +16614,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15082,11 +16628,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15103,11 +16649,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -15124,129 +16670,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -15254,19 +16768,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -15281,7 +16789,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15295,7 +17099,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -15309,7 +17113,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -15323,7 +17127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -15340,17 +17144,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -15358,29 +17167,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15389,17 +17265,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -15407,13 +17283,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -15421,13 +17297,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -15435,13 +17332,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -15456,90 +17388,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -15556,11 +17405,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15581,7 +17507,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15602,14 +17528,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -15623,14 +17559,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -15644,13 +17590,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -15665,10 +17695,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -15687,28 +17717,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15721,29 +17737,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15756,29 +17758,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15791,32 +17793,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -15826,15 +17814,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15847,8 +17849,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15868,8 +17870,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15885,18 +17922,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -15910,8 +18112,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15931,8 +18133,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -15952,8 +18154,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15973,8 +18175,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -15994,32 +18196,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -16029,32 +18217,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -16064,7 +18238,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16081,11 +18318,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16111,29 +18348,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16146,15 +18425,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16167,15 +18460,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16188,15 +18537,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16209,18 +18586,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -16230,29 +18621,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16265,8 +18670,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -16286,11 +18691,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -16307,7 +18712,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16328,43 +18733,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16377,43 +18754,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16426,43 +18775,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16475,40 +18796,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -16524,36 +18863,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -16573,43 +18940,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16622,15 +18989,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16643,26 +19038,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -16678,7 +19081,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16692,7 +19422,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16709,46 +19439,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16762,7 +19457,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16779,16 +19474,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -16797,12 +19490,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -16814,33 +19505,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16849,12 +19524,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -16870,11 +19672,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16891,11 +19714,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16912,11 +19756,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16933,343 +19777,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -17279,7 +19893,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17300,21 +19914,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17335,7 +19949,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17364,8 +19992,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -17378,7 +20006,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17392,7 +20020,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17406,7 +20034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -17427,8 +20055,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -17441,7 +20069,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -17453,20 +20081,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -17476,7 +20090,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17490,7 +20104,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17506,33 +20120,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17546,7 +20146,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17560,7 +20160,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17572,20 +20172,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -17595,7 +20181,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17616,7 +20202,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17637,7 +20223,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -17651,8 +20314,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -17665,15 +20328,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -17682,11 +20345,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17703,65 +20366,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -17772,8 +20399,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -17782,92 +20409,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -17877,7 +20434,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -17898,7 +20455,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17919,29 +20476,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -17954,29 +20511,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -17989,8 +20546,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -18010,273 +20567,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -18293,11 +20584,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18314,11 +20605,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18335,11 +20626,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18356,33 +20647,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -18402,7 +20987,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -18416,7 +21001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18430,7 +21015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18444,7 +21029,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18458,7 +21043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18472,7 +21057,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18486,7 +21071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18500,7 +21085,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18521,124 +21106,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18652,7 +21120,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -18666,7 +21134,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18680,7 +21148,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -18697,11 +21165,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -18715,7 +21183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -18729,7 +21197,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18743,7 +21211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18760,46 +21228,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18820,175 +21253,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19011,88 +21276,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -19103,7 +21291,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -19114,7 +21302,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -19125,8 +21313,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -19136,7 +21324,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -19147,8 +21335,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -19169,8 +21357,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -19191,8 +21379,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -19213,8 +21401,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -19235,8 +21423,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -19257,8 +21445,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -19279,7 +21467,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -19294,15 +21614,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -19311,11 +21631,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19336,7 +21656,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -19348,7 +21668,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -19360,7 +21680,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -19372,7 +21692,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19384,7 +21704,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -19396,7 +21716,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19408,7 +21728,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -19420,7 +21740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19432,7 +21752,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -19451,7 +21771,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19472,7 +21792,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19493,7 +21813,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19535,7 +21855,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19556,7 +21876,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19570,7 +21890,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -19584,7 +21904,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -19605,11 +21925,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -19619,11 +21939,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -19640,84 +21960,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -19727,7 +22023,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -19769,7 +22065,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -19783,7 +22079,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -19802,70 +22098,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19882,15 +22115,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -19903,16 +22136,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -19924,30 +22211,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -19956,12 +22229,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -19970,7 +22243,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -19984,7 +22257,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -20001,11 +22274,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -20019,7 +22292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -20033,7 +22306,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -20050,11 +22323,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20071,11 +22344,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20096,7 +22390,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20117,7 +22411,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -20138,7 +22432,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -20159,11 +22453,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20173,11 +22467,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20187,11 +22481,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20201,11 +22495,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20215,11 +22509,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20229,11 +22523,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20243,11 +22537,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20264,11 +22558,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20278,11 +22572,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20299,11 +22593,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -20320,129 +22614,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -20450,19 +22712,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20477,7 +22733,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20491,7 +23043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -20505,7 +23057,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -20519,7 +23071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -20536,17 +23088,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -20554,29 +23111,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20585,17 +23209,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -20603,13 +23227,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20617,13 +23241,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -20631,13 +23276,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20652,90 +23332,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -20752,11 +23349,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20777,7 +23451,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20798,14 +23472,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20819,14 +23503,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20840,13 +23534,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -20861,10 +23639,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -20883,28 +23661,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20917,29 +23681,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20952,29 +23702,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20987,32 +23737,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -21022,15 +23758,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21043,8 +23793,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21064,8 +23814,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21081,18 +23866,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -21106,8 +24056,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21127,8 +24077,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -21148,8 +24098,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21169,8 +24119,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -21190,32 +24140,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -21225,32 +24161,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -21260,7 +24182,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21277,11 +24262,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21307,29 +24292,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21342,15 +24369,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21363,15 +24404,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21384,15 +24481,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21405,18 +24530,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -21426,29 +24565,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21461,8 +24614,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21482,11 +24635,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -21503,7 +24656,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21524,43 +24677,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21573,43 +24698,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21622,43 +24719,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21671,40 +24740,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -21720,36 +24807,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21769,43 +24884,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21818,15 +24933,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21839,26 +24982,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -21874,7 +25025,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21888,7 +25366,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21905,46 +25383,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21958,7 +25401,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21975,16 +25418,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -21993,12 +25434,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -22010,33 +25449,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -22045,12 +25468,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -22066,11 +25616,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22087,11 +25658,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22108,11 +25700,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22129,343 +25721,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -22475,7 +25837,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22496,21 +25858,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22531,7 +25893,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22560,8 +25936,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -22574,7 +25950,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22588,7 +25964,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22602,7 +25978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -22623,8 +25999,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -22637,7 +26013,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -22649,20 +26025,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -22672,7 +26034,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22686,7 +26048,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22702,33 +26064,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22742,7 +26090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22756,7 +26104,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22768,20 +26116,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -22791,7 +26125,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22812,7 +26146,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22833,7 +26167,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -22847,8 +26258,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -22861,15 +26272,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -22878,11 +26289,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22899,65 +26310,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -22968,8 +26343,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -22978,92 +26353,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -23073,7 +26378,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -23094,7 +26399,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23115,29 +26420,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23150,29 +26455,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23185,8 +26490,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -23206,273 +26511,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -23489,11 +26528,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23510,11 +26549,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23531,11 +26570,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23552,33 +26591,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -23598,7 +26931,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -23612,7 +26945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23626,7 +26959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23640,7 +26973,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23654,7 +26987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23668,7 +27001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23682,7 +27015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23696,7 +27029,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23717,124 +27050,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23848,7 +27064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -23862,7 +27078,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23876,7 +27092,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -23893,11 +27109,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -23911,7 +27127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -23925,7 +27141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23939,7 +27155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23956,46 +27172,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24016,175 +27197,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24207,88 +27220,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -24299,7 +27235,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -24310,7 +27246,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -24321,8 +27257,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -24332,7 +27268,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -24343,8 +27279,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -24365,8 +27301,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -24387,8 +27323,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -24409,8 +27345,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -24431,8 +27367,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -24453,8 +27389,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -24475,7 +27411,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -24490,15 +27558,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -24507,11 +27575,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24532,7 +27600,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -24544,7 +27612,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -24556,7 +27624,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -24568,7 +27636,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24580,7 +27648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -24592,7 +27660,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24604,7 +27672,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -24616,7 +27684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24628,7 +27696,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -24647,7 +27715,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24668,7 +27736,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24689,7 +27757,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24731,7 +27799,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -24752,7 +27820,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -24766,7 +27834,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -24780,7 +27848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -24801,11 +27869,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -24815,11 +27883,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -24836,84 +27904,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -24923,7 +27967,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -24965,7 +28009,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -24979,7 +28023,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -24998,70 +28042,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25078,15 +28059,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -25099,16 +28080,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -25120,30 +28155,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -25152,12 +28173,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -25166,7 +28187,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25180,7 +28201,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25197,11 +28218,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -25215,7 +28236,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25229,7 +28250,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -25246,11 +28267,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25267,11 +28288,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25292,7 +28334,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25313,7 +28355,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -25334,7 +28376,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -25355,11 +28397,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25369,11 +28411,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25383,11 +28425,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25397,11 +28439,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25411,11 +28453,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25425,11 +28467,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25439,11 +28481,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25460,11 +28502,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25474,11 +28516,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25495,11 +28537,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -25516,129 +28558,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -25646,19 +28656,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -25673,7 +28677,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25687,7 +28987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -25701,7 +29001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25715,7 +29015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -25732,17 +29032,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -25750,29 +29055,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -25781,17 +29153,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -25799,13 +29171,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -25813,13 +29185,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -25827,13 +29220,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -25848,90 +29276,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -25948,11 +29293,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25973,7 +29395,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -25994,14 +29416,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26015,14 +29447,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26036,13 +29478,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -26057,10 +29583,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -26079,28 +29605,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26113,29 +29625,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26148,29 +29646,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26183,32 +29681,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -26218,15 +29702,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26239,8 +29737,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26260,8 +29758,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26277,18 +29810,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26302,8 +30000,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26323,8 +30021,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -26344,8 +30042,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26365,8 +30063,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -26386,32 +30084,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -26421,32 +30105,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -26456,7 +30126,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26473,11 +30206,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26503,29 +30236,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26538,15 +30313,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26559,15 +30348,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26580,15 +30425,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26601,18 +30474,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -26622,29 +30509,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26657,8 +30558,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26678,11 +30579,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -26699,7 +30600,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -26720,43 +30621,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26769,43 +30642,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26818,43 +30663,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26867,40 +30684,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -26916,36 +30751,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26965,43 +30828,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27014,15 +30877,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27035,26 +30926,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -27070,7 +30969,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27084,7 +31310,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27101,46 +31327,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27154,7 +31345,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27171,16 +31362,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -27189,12 +31378,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -27206,33 +31393,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27241,12 +31412,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -27262,11 +31560,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27283,11 +31602,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -27304,11 +31644,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -27325,343 +31665,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -27671,7 +31781,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27692,21 +31802,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27727,7 +31837,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27756,8 +31880,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -27770,7 +31894,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27784,7 +31908,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27798,7 +31922,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -27819,8 +31943,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -27833,7 +31957,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -27845,20 +31969,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -27868,7 +31978,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27882,7 +31992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27898,33 +32008,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27938,7 +32034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27952,7 +32048,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27964,20 +32060,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -27987,7 +32069,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28008,7 +32090,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28029,7 +32111,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -28043,8 +32202,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -28057,15 +32216,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -28074,11 +32233,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28095,65 +32254,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -28164,8 +32287,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -28174,92 +32297,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -28269,7 +32322,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -28290,7 +32343,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28311,29 +32364,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -28346,29 +32399,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -28381,8 +32434,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -28402,273 +32455,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -28685,11 +32472,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28706,11 +32493,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28727,11 +32514,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28748,33 +32535,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -28794,7 +32875,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -28808,7 +32889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28822,7 +32903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28836,7 +32917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28850,7 +32931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28864,7 +32945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28878,7 +32959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28892,7 +32973,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28913,124 +32994,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29044,7 +33008,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29058,7 +33022,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -29072,7 +33036,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -29089,11 +33053,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -29107,7 +33071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29121,7 +33085,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -29135,7 +33099,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29152,46 +33116,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29212,175 +33141,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29403,88 +33164,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -29495,7 +33179,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -29506,7 +33190,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -29517,8 +33201,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -29528,7 +33212,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -29539,8 +33223,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -29561,8 +33245,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -29583,8 +33267,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -29605,8 +33289,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -29627,8 +33311,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -29649,8 +33333,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -29671,7 +33355,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -29686,15 +33502,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -29703,11 +33519,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29728,7 +33544,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -29740,7 +33556,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -29752,7 +33568,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29764,7 +33580,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29776,7 +33592,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -29788,7 +33604,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29800,7 +33616,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -29812,7 +33628,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29824,7 +33640,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -29843,7 +33659,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29864,7 +33680,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29885,7 +33701,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29927,7 +33743,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29948,7 +33764,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29962,7 +33778,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29976,7 +33792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -29997,11 +33813,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30011,11 +33827,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30032,84 +33848,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -30119,7 +33911,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -30161,7 +33953,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -30175,7 +33967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -30194,70 +33986,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30274,15 +34003,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -30295,16 +34024,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -30316,30 +34099,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -30348,12 +34117,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -30362,7 +34131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30376,7 +34145,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30393,11 +34162,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -30411,7 +34180,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30425,7 +34194,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -30442,11 +34211,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30463,11 +34232,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30488,7 +34278,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30509,7 +34299,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -30530,7 +34320,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -30551,11 +34341,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30565,11 +34355,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30579,11 +34369,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30593,11 +34383,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30607,11 +34397,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30621,11 +34411,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30635,11 +34425,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30656,11 +34446,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30670,11 +34460,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30691,11 +34481,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -30712,129 +34502,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -30842,19 +34600,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -30869,7 +34621,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30883,7 +34931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -30897,7 +34945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30911,7 +34959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -30928,17 +34976,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -30946,29 +34999,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -30977,17 +35097,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -30995,13 +35115,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -31009,13 +35129,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -31023,13 +35164,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -31044,90 +35220,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -31144,11 +35237,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31169,7 +35339,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -31190,14 +35360,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -31211,14 +35391,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -31232,13 +35422,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -31253,10 +35527,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -31275,28 +35549,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31309,29 +35569,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31344,29 +35590,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31379,32 +35625,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -31414,15 +35646,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31435,8 +35681,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31456,8 +35702,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31473,18 +35754,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -31498,8 +35944,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31519,8 +35965,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -31540,8 +35986,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31561,8 +36007,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -31582,32 +36028,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -31617,32 +36049,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -31652,7 +36070,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31669,11 +36150,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31699,29 +36180,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31734,15 +36257,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31755,15 +36292,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31776,15 +36369,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31797,18 +36418,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -31818,29 +36453,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31853,8 +36502,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31874,11 +36523,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -31895,7 +36544,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31916,43 +36565,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31965,43 +36586,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32014,43 +36607,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32063,40 +36628,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -32112,36 +36695,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -32161,43 +36772,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32210,15 +36821,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32231,26 +36870,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -32266,7 +36913,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32280,7 +37254,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32297,46 +37271,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32350,7 +37289,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32367,16 +37306,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -32385,12 +37322,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -32402,33 +37337,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32437,12 +37356,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -32458,11 +37504,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32479,11 +37546,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32500,11 +37588,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32521,343 +37609,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -32867,7 +37725,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -32888,21 +37746,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32923,7 +37781,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -32952,8 +37824,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -32966,7 +37838,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -32980,7 +37852,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -32994,7 +37866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -33015,8 +37887,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33029,7 +37901,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -33041,20 +37913,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -33064,7 +37922,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -33078,7 +37936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33094,33 +37952,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33134,7 +37978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33148,7 +37992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33160,20 +38004,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -33183,7 +38013,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33204,7 +38034,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33225,7 +38055,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -33239,8 +38146,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33253,15 +38160,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33270,11 +38177,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33291,65 +38198,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -33360,8 +38231,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -33370,92 +38241,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -33465,7 +38266,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -33486,7 +38287,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33507,29 +38308,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33542,29 +38343,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33577,8 +38378,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33598,273 +38399,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -33881,11 +38416,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33902,11 +38437,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33923,11 +38458,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33944,33 +38479,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33990,7 +38819,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34004,7 +38833,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34018,7 +38847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34032,7 +38861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34046,7 +38875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34060,7 +38889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34074,7 +38903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34088,7 +38917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34109,124 +38938,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34240,7 +38952,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34254,7 +38966,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34268,7 +38980,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -34285,11 +38997,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -34303,7 +39015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34317,7 +39029,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34331,7 +39043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34348,46 +39060,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34408,175 +39085,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34599,88 +39108,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -34691,7 +39123,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -34702,7 +39134,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -34713,8 +39145,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -34724,7 +39156,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -34735,8 +39167,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -34757,8 +39189,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -34779,8 +39211,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -34801,8 +39233,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -34823,8 +39255,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -34845,8 +39277,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -34867,7 +39299,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -34882,15 +39446,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -34899,11 +39463,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34924,7 +39488,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -34936,7 +39500,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -34948,7 +39512,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34960,7 +39524,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34972,7 +39536,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -34984,7 +39548,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34996,7 +39560,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -35008,7 +39572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35020,7 +39584,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -35039,7 +39603,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35060,7 +39624,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35081,7 +39645,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35123,7 +39687,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -35144,7 +39708,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -35158,7 +39722,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -35172,7 +39736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35193,11 +39757,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35207,11 +39771,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35228,84 +39792,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -35315,7 +39855,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -35357,7 +39897,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -35371,7 +39911,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -35390,70 +39930,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35470,15 +39947,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -35491,16 +39968,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -35512,30 +40043,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -35544,12 +40061,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -35558,7 +40075,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35572,7 +40089,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35589,11 +40106,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -35607,7 +40124,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35621,7 +40138,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -35638,11 +40155,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35659,11 +40176,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35684,7 +40222,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35705,7 +40243,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -35726,7 +40264,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -35747,11 +40285,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35761,11 +40299,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35775,11 +40313,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35789,11 +40327,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35803,11 +40341,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35817,11 +40355,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35831,11 +40369,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35852,11 +40390,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35866,11 +40404,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35887,11 +40425,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -35908,129 +40446,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -36038,19 +40544,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36065,7 +40565,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36079,7 +40875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -36093,7 +40889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -36107,7 +40903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -36124,17 +40920,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -36142,29 +40943,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36173,17 +41041,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -36191,13 +41059,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36205,13 +41073,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -36219,13 +41108,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36240,90 +41164,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -36340,11 +41181,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36365,7 +41283,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36386,14 +41304,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36407,14 +41335,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36428,13 +41366,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -36449,10 +41471,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -36471,28 +41493,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36505,29 +41513,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36540,29 +41534,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36575,32 +41569,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -36610,15 +41590,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36631,8 +41625,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36652,8 +41646,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36669,18 +41698,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36694,8 +41888,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36715,8 +41909,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -36736,8 +41930,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36757,8 +41951,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -36778,32 +41972,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -36813,32 +41993,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -36848,7 +42014,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36865,11 +42094,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36895,29 +42124,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36930,15 +42201,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36951,15 +42236,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36972,15 +42313,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36993,18 +42362,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -37014,29 +42397,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37049,8 +42446,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -37070,11 +42467,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -37091,7 +42488,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37112,43 +42509,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37161,43 +42530,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37210,43 +42551,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37259,40 +42572,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -37308,36 +42639,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -37357,43 +42716,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37406,15 +42765,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37427,26 +42814,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -37462,7 +42857,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37476,7 +43198,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37493,46 +43215,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37546,7 +43233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37563,16 +43250,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -37581,12 +43266,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -37598,33 +43281,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37633,12 +43300,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -37654,11 +43448,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37675,11 +43490,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -37696,11 +43532,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -37717,343 +43553,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -38063,7 +43669,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38084,21 +43690,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38119,7 +43725,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38148,8 +43768,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -38162,7 +43782,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38176,7 +43796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38190,7 +43810,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -38211,8 +43831,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -38225,7 +43845,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -38237,20 +43857,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -38260,7 +43866,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38274,7 +43880,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38290,33 +43896,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38330,7 +43922,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38344,7 +43936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38356,20 +43948,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -38379,7 +43957,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38400,7 +43978,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38421,7 +43999,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -38435,8 +44090,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -38449,15 +44104,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -38466,11 +44121,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38487,65 +44142,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -38556,8 +44175,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -38566,92 +44185,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -38661,7 +44210,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -38682,7 +44231,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38703,29 +44252,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -38738,29 +44287,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -38773,8 +44322,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -38794,273 +44343,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -39077,11 +44360,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39098,11 +44381,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39119,11 +44402,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39140,33 +44423,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -39186,7 +44763,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -39200,7 +44777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39214,7 +44791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39228,7 +44805,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39242,7 +44819,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39256,7 +44833,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39270,7 +44847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -39284,7 +44861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39305,124 +44882,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39436,7 +44896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -39450,7 +44910,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39464,7 +44924,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -39481,11 +44941,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -39499,7 +44959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -39513,7 +44973,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39527,7 +44987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -39544,46 +45004,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -39604,175 +45029,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39795,88 +45052,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -39887,7 +45067,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -39898,7 +45078,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -39909,8 +45089,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -39920,7 +45100,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -39931,8 +45111,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -39953,8 +45133,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -39975,8 +45155,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -39997,8 +45177,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -40019,8 +45199,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -40041,8 +45221,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -40063,7 +45243,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -40078,15 +45390,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -40095,11 +45407,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -40120,7 +45432,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -40132,7 +45444,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -40144,7 +45456,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -40156,7 +45468,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40168,7 +45480,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -40180,7 +45492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40192,7 +45504,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -40204,7 +45516,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40216,7 +45528,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -40235,7 +45547,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40256,7 +45568,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40277,7 +45589,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40319,7 +45631,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -40340,7 +45652,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -40354,7 +45666,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -40368,7 +45680,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40389,11 +45701,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40403,11 +45715,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40424,84 +45736,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -40511,7 +45799,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -40553,7 +45841,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -40567,7 +45855,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -40586,70 +45874,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40666,15 +45891,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -40687,16 +45912,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -40708,30 +45987,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -40740,12 +46005,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -40754,7 +46019,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40768,7 +46033,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40785,11 +46050,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -40803,7 +46068,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40817,7 +46082,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -40834,11 +46099,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40855,11 +46120,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40880,7 +46166,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40901,7 +46187,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -40922,7 +46208,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -40943,11 +46229,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40957,11 +46243,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40971,11 +46257,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40985,11 +46271,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40999,11 +46285,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41013,11 +46299,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41027,11 +46313,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41048,11 +46334,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41062,11 +46348,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41083,11 +46369,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -41104,129 +46390,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -41234,19 +46488,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -41261,7 +46509,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -41275,7 +46819,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -41289,7 +46833,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -41303,7 +46847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -41320,17 +46864,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -41338,29 +46887,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41369,17 +46985,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -41387,13 +47003,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -41401,13 +47017,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -41415,13 +47052,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -41436,90 +47108,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -41536,11 +47125,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -41561,7 +47227,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -41582,14 +47248,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -41603,14 +47279,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -41624,13 +47310,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -41645,10 +47415,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -41667,28 +47437,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41701,29 +47457,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41736,29 +47478,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41771,32 +47513,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -41806,15 +47534,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41827,8 +47569,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41848,8 +47590,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41865,18 +47642,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -41890,8 +47832,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41911,8 +47853,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -41932,8 +47874,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41953,8 +47895,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -41974,32 +47916,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -42009,32 +47937,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -42044,7 +47958,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42061,11 +48038,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42091,29 +48068,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42126,15 +48145,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42147,15 +48180,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42168,15 +48257,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42189,18 +48306,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -42210,29 +48341,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42245,8 +48390,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -42266,11 +48411,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -42287,7 +48432,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -42308,43 +48453,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42357,43 +48474,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42406,43 +48495,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42455,40 +48516,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -42504,36 +48583,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -42553,43 +48660,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42602,15 +48709,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42623,26 +48758,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -42658,7 +48801,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42672,7 +49142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42689,46 +49159,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42742,7 +49177,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42759,16 +49194,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -42777,12 +49210,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -42794,33 +49225,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42829,12 +49244,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -42850,11 +49392,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -42871,11 +49434,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -42892,11 +49476,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -42913,343 +49497,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -43259,7 +49613,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43280,21 +49634,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43315,7 +49669,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43344,8 +49712,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -43358,7 +49726,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43372,7 +49740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43386,7 +49754,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -43407,8 +49775,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -43421,7 +49789,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -43433,20 +49801,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -43456,7 +49810,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43470,7 +49824,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43486,33 +49840,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43526,7 +49866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43540,7 +49880,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43552,20 +49892,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -43575,7 +49901,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43596,7 +49922,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43617,7 +49943,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -43631,8 +50034,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -43645,15 +50048,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -43662,11 +50065,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43683,65 +50086,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -43752,8 +50119,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -43762,92 +50129,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -43857,7 +50154,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -43878,7 +50175,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -43899,29 +50196,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -43934,29 +50231,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -43969,8 +50266,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -43990,273 +50287,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -44273,11 +50304,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44294,11 +50325,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44315,11 +50346,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44336,33 +50367,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -44382,7 +50707,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -44396,7 +50721,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44410,7 +50735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44424,7 +50749,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44438,7 +50763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44452,7 +50777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44466,7 +50791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -44480,7 +50805,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44501,124 +50826,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44632,7 +50840,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -44646,7 +50854,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44660,7 +50868,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -44677,11 +50885,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -44695,7 +50903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -44709,7 +50917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44723,7 +50931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -44740,46 +50948,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -44800,175 +50973,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44991,88 +50996,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -45083,7 +51011,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -45094,7 +51022,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -45105,8 +51033,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -45116,7 +51044,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -45127,8 +51055,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -45149,8 +51077,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -45171,8 +51099,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -45193,8 +51121,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -45215,8 +51143,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -45237,8 +51165,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -45259,7 +51187,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -45274,15 +51334,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -45291,11 +51351,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -45316,7 +51376,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -45328,7 +51388,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -45340,7 +51400,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -45352,7 +51412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45364,7 +51424,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -45376,7 +51436,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45388,7 +51448,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -45400,7 +51460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45412,7 +51472,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -45431,7 +51491,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45452,7 +51512,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45473,7 +51533,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45515,7 +51575,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -45536,7 +51596,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -45550,7 +51610,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -45564,7 +51624,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -45585,11 +51645,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -45599,11 +51659,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -45620,84 +51680,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -45707,7 +51743,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -45749,7 +51785,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -45763,7 +51799,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -45782,70 +51818,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -45862,15 +51835,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -45883,16 +51856,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -45904,30 +51931,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -45936,12 +51949,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -45950,7 +51963,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -45964,7 +51977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -45981,11 +51994,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -45999,7 +52012,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -46013,7 +52026,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -46030,11 +52043,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46051,11 +52064,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46076,7 +52110,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46097,7 +52131,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -46118,7 +52152,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -46139,11 +52173,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46153,11 +52187,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46167,11 +52201,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46181,11 +52215,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46195,11 +52229,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46209,11 +52243,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46223,11 +52257,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46244,11 +52278,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46258,11 +52292,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46279,11 +52313,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -46300,129 +52334,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -46430,19 +52432,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -46457,7 +52453,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46471,7 +52763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -46485,7 +52777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -46499,7 +52791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -46516,17 +52808,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -46534,29 +52831,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46565,17 +52929,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -46583,13 +52947,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -46597,13 +52961,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -46611,13 +52996,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -46632,90 +53052,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -46732,11 +53069,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46757,7 +53171,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -46778,14 +53192,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -46799,14 +53223,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -46820,13 +53254,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -46841,10 +53359,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -46863,28 +53381,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46897,29 +53401,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46932,29 +53422,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46967,32 +53457,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -47002,15 +53478,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47023,8 +53513,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47044,8 +53534,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47061,18 +53586,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -47086,8 +53776,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47107,8 +53797,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -47128,8 +53818,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47149,8 +53839,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -47170,32 +53860,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -47205,32 +53881,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -47240,7 +53902,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47257,11 +53982,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47287,29 +54012,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47322,15 +54089,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47343,15 +54124,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47364,15 +54201,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47385,18 +54250,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -47406,29 +54285,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47441,8 +54334,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47462,11 +54355,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -47483,7 +54376,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -47504,43 +54397,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47553,43 +54418,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47602,43 +54439,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47651,40 +54460,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -47700,36 +54527,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47749,43 +54604,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47798,15 +54653,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47819,26 +54702,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -47854,7 +54745,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47868,7 +55086,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47885,46 +55103,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47938,7 +55121,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47955,16 +55138,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -47973,12 +55154,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -47990,33 +55169,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -48025,12 +55188,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -48046,11 +55336,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -48067,11 +55378,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -48088,11 +55420,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -48109,343 +55441,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -48455,7 +55557,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48476,21 +55578,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48511,7 +55613,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48540,8 +55656,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -48554,7 +55670,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48568,7 +55684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48582,7 +55698,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -48603,8 +55719,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -48617,7 +55733,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -48629,20 +55745,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -48652,7 +55754,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48666,7 +55768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48682,33 +55784,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48722,7 +55810,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48736,7 +55824,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48748,20 +55836,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -48771,7 +55845,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48792,7 +55866,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48813,7 +55887,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -48827,8 +55978,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -48841,15 +55992,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -48858,11 +56009,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48879,65 +56030,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -48948,8 +56063,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -48958,92 +56073,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -49053,7 +56098,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -49074,7 +56119,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49095,29 +56140,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -49130,29 +56175,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -49165,8 +56210,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -49186,273 +56231,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -49469,11 +56248,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49490,11 +56269,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49511,11 +56290,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49532,33 +56311,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -49578,7 +56651,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -49592,7 +56665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49606,7 +56679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49620,7 +56693,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49634,7 +56707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49648,7 +56721,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49662,7 +56735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -49676,7 +56749,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49697,124 +56770,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49828,7 +56784,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -49842,7 +56798,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49856,7 +56812,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -49873,11 +56829,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -49891,7 +56847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -49905,7 +56861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49919,7 +56875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -49936,46 +56892,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -49996,175 +56917,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -50187,88 +56940,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -50279,7 +56955,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -50290,7 +56966,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -50301,8 +56977,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -50312,7 +56988,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -50323,8 +56999,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -50345,8 +57021,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -50367,8 +57043,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -50389,8 +57065,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -50411,8 +57087,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -50433,8 +57109,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -50455,7 +57131,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -50470,15 +57278,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -50487,11 +57295,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -50512,7 +57320,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -50524,7 +57332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -50536,7 +57344,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -50548,7 +57356,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50560,7 +57368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -50572,7 +57380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50584,7 +57392,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -50596,7 +57404,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50608,7 +57416,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -50627,7 +57435,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50648,7 +57456,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50669,7 +57477,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50711,7 +57519,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -50732,7 +57540,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -50746,7 +57554,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -50760,7 +57568,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -50781,11 +57589,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -50795,11 +57603,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -50816,84 +57624,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -50903,7 +57687,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -50945,7 +57729,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -50959,7 +57743,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -50978,70 +57762,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51058,15 +57779,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -51079,16 +57800,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -51100,30 +57875,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -51132,12 +57893,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -51146,7 +57907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51160,7 +57921,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51177,11 +57938,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -51195,7 +57956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51209,7 +57970,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -51226,11 +57987,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51247,11 +58008,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51272,7 +58054,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51293,7 +58075,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -51314,7 +58096,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -51335,11 +58117,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51349,11 +58131,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51363,11 +58145,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51377,11 +58159,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51391,11 +58173,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51405,11 +58187,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51419,11 +58201,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51440,11 +58222,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51454,11 +58236,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51475,11 +58257,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -51496,129 +58278,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -51626,19 +58376,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -51653,7 +58397,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51667,7 +58707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -51681,7 +58721,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51695,7 +58735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -51712,17 +58752,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -51730,29 +58775,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -51761,17 +58873,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -51779,13 +58891,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -51793,13 +58905,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -51807,13 +58940,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -51828,90 +58996,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -51928,11 +59013,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51953,7 +59115,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -51974,14 +59136,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -51995,14 +59167,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -52016,13 +59198,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -52037,10 +59303,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -52059,28 +59325,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52093,29 +59345,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52128,29 +59366,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52163,32 +59401,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -52198,15 +59422,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52219,8 +59457,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52240,8 +59478,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52257,18 +59530,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -52282,8 +59720,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52303,8 +59741,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -52324,8 +59762,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52345,8 +59783,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -52366,32 +59804,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -52401,32 +59825,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -52436,7 +59846,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -52453,11 +59926,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -52483,29 +59956,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52518,15 +60033,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52539,15 +60068,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52560,15 +60145,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52581,18 +60194,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -52602,29 +60229,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52637,8 +60278,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52658,11 +60299,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -52679,7 +60320,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -52700,43 +60341,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52749,43 +60362,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52798,43 +60383,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52847,40 +60404,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -52896,36 +60471,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52945,43 +60548,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52994,15 +60597,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -53015,26 +60646,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -53050,7 +60689,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53064,7 +61030,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53081,46 +61047,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53134,7 +61065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53151,16 +61082,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -53169,12 +61098,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -53186,33 +61113,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -53221,12 +61132,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -53242,11 +61280,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -53263,11 +61322,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -53284,11 +61364,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -53305,343 +61385,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -53651,7 +61501,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53672,21 +61522,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -53707,7 +61557,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53736,8 +61600,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -53750,7 +61614,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53764,7 +61628,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53778,7 +61642,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -53799,8 +61663,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -53813,7 +61677,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -53825,20 +61689,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -53848,7 +61698,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53862,7 +61712,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53878,33 +61728,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53918,7 +61754,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53932,7 +61768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53944,20 +61780,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -53967,7 +61789,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -53988,7 +61810,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -54009,7 +61831,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -54023,8 +61922,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -54037,15 +61936,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -54054,11 +61953,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -54075,65 +61974,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -54144,8 +62007,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -54154,92 +62017,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -54249,7 +62042,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -54270,7 +62063,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54291,29 +62084,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -54326,29 +62119,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -54361,8 +62154,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -54382,273 +62175,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -54665,11 +62192,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54686,11 +62213,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54707,11 +62234,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54728,33 +62255,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -54774,7 +62595,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -54788,7 +62609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54802,7 +62623,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54816,7 +62637,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54830,7 +62651,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54844,7 +62665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54858,7 +62679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -54872,7 +62693,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54893,124 +62714,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -55024,7 +62728,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55038,7 +62742,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -55052,7 +62756,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -55069,11 +62773,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -55087,7 +62791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55101,7 +62805,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -55115,7 +62819,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55132,46 +62836,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55192,175 +62861,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -55383,88 +62884,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -55475,7 +62899,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -55486,7 +62910,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -55497,8 +62921,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -55508,7 +62932,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -55519,8 +62943,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -55541,8 +62965,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -55563,8 +62987,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -55585,8 +63009,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -55607,8 +63031,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -55629,8 +63053,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -55651,7 +63075,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -55666,15 +63222,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -55683,11 +63239,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -55708,7 +63264,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -55720,7 +63276,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -55732,7 +63288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55744,7 +63300,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55756,7 +63312,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -55768,7 +63324,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55780,7 +63336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -55792,7 +63348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55804,7 +63360,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -55823,7 +63379,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55844,7 +63400,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55865,7 +63421,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55907,7 +63463,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -55928,7 +63484,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -55942,7 +63498,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55956,7 +63512,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -55977,11 +63533,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -55991,11 +63547,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56012,84 +63568,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -56099,7 +63631,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -56141,7 +63673,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -56155,7 +63687,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -56174,70 +63706,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56254,15 +63723,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -56275,16 +63744,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -56296,30 +63819,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -56328,12 +63837,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -56342,7 +63851,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56356,7 +63865,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56373,11 +63882,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -56391,7 +63900,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56405,7 +63914,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -56422,11 +63931,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56443,11 +63952,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56468,7 +63998,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56489,7 +64019,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -56510,7 +64040,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -56531,11 +64061,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56545,11 +64075,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56559,11 +64089,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56573,11 +64103,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56587,11 +64117,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56601,11 +64131,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56615,11 +64145,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56636,11 +64166,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56650,11 +64180,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56671,11 +64201,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -56692,129 +64222,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -56822,19 +64320,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -56849,7 +64341,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56863,7 +64651,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -56877,7 +64665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56891,7 +64679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -56908,17 +64696,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -56926,29 +64719,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -56957,17 +64817,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -56975,13 +64835,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -56989,13 +64849,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -57003,13 +64884,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -57024,90 +64940,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -57124,11 +64957,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -57149,7 +65059,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -57170,14 +65080,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -57191,14 +65111,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -57212,13 +65142,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -57233,10 +65247,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -57255,28 +65269,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57289,29 +65289,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57324,29 +65310,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57359,32 +65345,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -57394,15 +65366,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57415,8 +65401,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57436,8 +65422,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57453,18 +65474,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -57478,8 +65664,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57499,8 +65685,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -57520,8 +65706,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57541,8 +65727,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -57562,32 +65748,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -57597,32 +65769,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -57632,7 +65790,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -57649,11 +65870,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -57679,29 +65900,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57714,15 +65977,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57735,15 +66012,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57756,15 +66089,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57777,18 +66138,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -57798,29 +66173,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57833,8 +66222,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57854,11 +66243,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -57875,7 +66264,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -57896,43 +66285,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57945,43 +66306,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57994,43 +66327,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58043,40 +66348,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -58092,36 +66415,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -58141,43 +66492,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58190,15 +66541,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58211,26 +66590,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -58246,7 +66633,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58260,7 +66974,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58277,46 +66991,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58330,7 +67009,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58347,16 +67026,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -58365,12 +67042,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -58382,33 +67057,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58417,12 +67076,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -58438,11 +67224,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -58459,11 +67266,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -58480,11 +67308,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -58501,343 +67329,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -58847,7 +67445,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -58868,21 +67466,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -58903,7 +67501,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -58932,8 +67544,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -58946,7 +67558,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -58960,7 +67572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -58974,7 +67586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -58995,8 +67607,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59009,7 +67621,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -59021,20 +67633,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -59044,7 +67642,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -59058,7 +67656,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59074,33 +67672,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59114,7 +67698,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59128,7 +67712,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59140,20 +67724,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -59163,7 +67733,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -59184,7 +67754,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -59205,7 +67775,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -59219,8 +67866,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59233,15 +67880,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -59250,11 +67897,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -59271,65 +67918,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -59340,8 +67951,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -59350,92 +67961,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -59445,7 +67986,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -59466,7 +68007,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59487,29 +68028,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -59522,29 +68063,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -59557,8 +68098,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59578,273 +68119,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -59861,11 +68136,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59882,11 +68157,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59903,11 +68178,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59924,33 +68199,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59970,7 +68539,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -59984,7 +68553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59998,7 +68567,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60012,7 +68581,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60026,7 +68595,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60040,7 +68609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60054,7 +68623,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60068,7 +68637,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -60089,124 +68658,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -60220,7 +68672,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -60234,7 +68686,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60248,7 +68700,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -60265,11 +68717,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -60283,7 +68735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -60297,7 +68749,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60311,7 +68763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60328,46 +68780,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60388,175 +68805,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -60579,88 +68828,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -60671,7 +68843,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -60682,7 +68854,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -60693,8 +68865,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -60704,7 +68876,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -60715,8 +68887,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -60737,8 +68909,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -60759,8 +68931,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -60781,8 +68953,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -60803,8 +68975,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -60825,8 +68997,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -60847,7 +69019,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -60862,15 +69166,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -60879,11 +69183,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -60904,7 +69208,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -60916,7 +69220,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -60928,7 +69232,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -60940,7 +69244,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60952,7 +69256,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -60964,7 +69268,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60976,7 +69280,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -60988,7 +69292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61000,7 +69304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -61019,7 +69323,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61040,7 +69344,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61061,7 +69365,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61103,7 +69407,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -61124,7 +69428,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -61138,7 +69442,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -61152,7 +69456,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61173,11 +69477,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61187,11 +69491,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61208,84 +69512,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -61295,7 +69575,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -61337,7 +69617,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -61351,7 +69631,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -61370,70 +69650,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61450,15 +69667,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -61471,16 +69688,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -61492,30 +69763,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -61524,12 +69781,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -61538,7 +69795,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61552,7 +69809,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61569,11 +69826,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -61587,7 +69844,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61601,7 +69858,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -61618,11 +69875,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61639,11 +69896,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61664,7 +69942,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61685,7 +69963,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -61706,7 +69984,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -61727,11 +70005,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61741,11 +70019,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61755,11 +70033,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61769,11 +70047,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61783,11 +70061,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61797,11 +70075,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61811,11 +70089,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61832,11 +70110,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61846,11 +70124,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61867,11 +70145,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -61888,129 +70166,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -62018,19 +70264,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -62045,7 +70285,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62059,7 +70595,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -62073,7 +70609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -62087,7 +70623,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -62104,17 +70640,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -62122,29 +70663,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62153,17 +70761,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -62171,13 +70779,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -62185,13 +70793,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -62199,13 +70828,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -62220,90 +70884,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -62320,11 +70901,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62345,7 +71003,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -62366,14 +71024,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -62387,14 +71055,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -62408,13 +71086,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -62429,10 +71191,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -62451,28 +71213,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62485,29 +71233,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62520,29 +71254,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62555,32 +71289,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -62590,15 +71310,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62611,8 +71345,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62632,8 +71366,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62649,18 +71418,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -62674,8 +71608,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62695,8 +71629,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -62716,8 +71650,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62737,8 +71671,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -62758,32 +71692,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -62793,32 +71713,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -62828,7 +71734,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62845,11 +71814,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62872,6 +71841,28 @@
   "tables": [
     {
       "direction": "ingress",
+      "attached_to": "tbl_act",
+      "handle": 1879048192,
+      "name": "cond-1",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 1, "true": 0 },
+          "memory_resource_allocation": { "memory_unit": 7, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "FabricIngress.spgw.interfaces", "true": "tbl_act" },
+          "logical_table_id": 0,
+          "stage_number": 0,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.packet_out.$valid", "start_bit": 1, "bit_width": 1 } ],
+      "condition": "(hdr.packet_out.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
       "handle": 16777217,
       "name": "tbl_act",
       "table_type": "match",
@@ -62883,8 +71874,8 @@
             "size": 0,
             "stage_table_type": "ternary_match",
             "logical_table_id": 0,
-            "has_attached_gateway": false,
-            "default_next_table": 1,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -63737,956 +72728,14 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_0",
-                  "action_handle": 536870913,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 1,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_0",
-                      "next_table_logical_id": 1,
-                      "next_table_stage_no": 0
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_0",
-          "handle": 536870913,
-          "primitives": [
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870913,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777218,
-      "name": "tbl_act_0",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 16,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 6 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
                   "action_name": "act",
-                  "action_handle": 536870914,
+                  "action_handle": 536870913,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 16,
+                  "next_table_full": 255,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_1",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 1
-                    }
-                  ],
+                  "vliw_instruction_full": 65,
+                  "next_tables": [],
                   "immediate_fields": []
                 }
               ]
@@ -64703,12 +72752,22 @@
       "actions": [
         {
           "name": "act",
-          "handle": 536870914,
+          "handle": 536870913,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "spgw_normalizer_hasReturned" },
+              "dst": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
+              "dst_mask": { "type": "immediate", "name": "511" },
+              "src1": { "type": "phv", "name": "hdr.packet_out.egress_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": {
+                "type": "phv",
+                "name": "fabric_metadata.is_controller_packet_out"
+              },
               "dst_mask": { "type": "immediate", "name": "1" },
               "src1": { "type": "immediate", "name": "1" }
             }
@@ -64731,7 +72790,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870914,
+      "default_action_handle": 536870913,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -64743,30 +72802,503 @@
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_0",
-      "handle": 1879048192,
-      "name": "cond-1",
-      "table_type": "condition",
-      "stage_tables": [
+      "handle": 16777218,
+      "name": "FabricIngress.spgw.interfaces",
+      "table_type": "match",
+      "size": 128,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 1,
+            "has_attached_gateway": false,
+            "default_next_table": 16,
+            "pack_format": [
+              {
+                "table_word_width": 47,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--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": 24,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "ipv4_dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 24
+                      },
+                      {
+                        "field_name": "gtpu_is_valid",
+                        "lsb_mem_word_offset": 34,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--unused--",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "zero",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--unused--",
+                        "lsb_mem_word_offset": 35,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "zero",
+                        "start_bit": 0,
+                        "field_width": 8
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 0
+            },
+            "result_physical_buses": [ 1 ],
+            "ternary_indirection_stage_table": {
+              "action_format": [
+                {
+                  "action_name": "FabricIngress.spgw.iface_miss",
+                  "action_handle": 536870915,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 4294967295,
+                  "next_table_full": 81,
+                  "vliw_instruction": -1,
+                  "vliw_instruction_full": 68,
+                  "next_tables": [
+                    {
+                      "next_table_name": "tbl_act_2",
+                      "next_table_logical_id": 1,
+                      "next_table_stage_no": 5
+                    }
+                  ],
+                  "immediate_fields": []
+                },
+                {
+                  "action_name": "FabricIngress.spgw.load_iface",
+                  "action_handle": 536870914,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 81,
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 66,
+                  "next_tables": [
+                    {
+                      "next_table_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+                      "next_table_logical_id": 0,
+                      "next_table_stage_no": 1
+                    }
+                  ],
+                  "immediate_fields": []
+                }
+              ],
+              "memory_resource_allocation": null,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "entries_per_table_word": 1,
+                  "entries": [ { "entry_number": 0, "fields": [] } ],
+                  "table_word_width": 0,
+                  "number_memory_units_per_table_word": 0
+                }
+              ],
+              "logical_table_id": 1,
+              "stage_number": 0,
+              "stage_table_type": "ternary_indirection",
+              "size": 0
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
+      "action_data_table_refs": [
         {
-          "next_tables": { "false": 16, "true": 1 },
-          "memory_resource_allocation": { "memory_unit": 6, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_1", "true": "tbl_act_0" },
-          "logical_table_id": 1,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
+          "how_referenced": "direct",
+          "handle": 33554433,
+          "name": "FabricIngress.spgw.interfaces$action"
         }
       ],
-      "condition_fields": [ { "name": "hdr.gtpu.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(!(hdr.gtpu.$valid == 1))",
-      "size": 0
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870915,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4_dst_addr",
+          "global_name": "hdr.ipv4.dst_addr",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "position": 0,
+          "match_type": "lpm",
+          "is_valid": false,
+          "instance_name": "hdr.ipv4",
+          "field_name": "dst_addr"
+        },
+        {
+          "name": "gtpu_is_valid",
+          "global_name": "hdr.gtpu.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.gtpu",
+          "field_name": "$valid"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.iface_miss",
+          "handle": 536870915,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_iface",
+          "handle": 536870914,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.src_iface" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "action_param", "name": "src_iface" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.skip_spgw" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            {
+              "name": "src_iface",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 8
+            }
+          ],
+          "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
+        }
+      ],
+      "static_entries": []
+    },
+    {
+      "direction": "ingress",
+      "handle": 33554433,
+      "name": "FabricIngress.spgw.interfaces$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 0,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 1,
+          "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",
+                      "enable_pfe": false,
+                      "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",
+                      "enable_pfe": false,
+                      "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",
+                      "enable_pfe": false,
+                      "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",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_31--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870915
+            },
+            {
+              "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": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 104,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 2,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 72,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 1,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 40,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 8,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870914
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.iface_miss",
+          "handle": 536870915,
+          "p4_parameters": []
+        },
+        {
+          "name": "FabricIngress.spgw.load_iface",
+          "handle": 536870914,
+          "p4_parameters": [
+            {
+              "name": "src_iface",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 8
+            }
+          ]
+        }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
     },
     {
       "direction": "egress",
-      "handle": 16777250,
-      "name": "tbl_act_17",
+      "handle": 16777238,
+      "name": "tbl_act_5",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -64812,6 +73344,955 @@
               }
             ],
             "memory_resource_allocation": null,
+            "result_physical_buses": [ 6 ],
+            "ternary_indirection_stage_table": {
+              "stage_number": 0,
+              "stage_table_type": "ternary_indirection",
+              "size": 0,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 32,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 31,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 125,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 30,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 29,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 116,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 117,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 28,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 27,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 26,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 25,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 100,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 101,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 24,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 23,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 93,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 22,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 21,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 84,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 85,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 20,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 19,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 18,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 17,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 68,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 69,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 16,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 61,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 52,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 53,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 36,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 37,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 29,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 20,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 21,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 4,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 5,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": null,
+              "action_format": [
+                {
+                  "action_name": "act_5",
+                  "action_handle": 536870963,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "next_tables": [],
+                  "immediate_fields": []
+                }
+              ]
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "actions": [
+        {
+          "name": "act_5",
+          "handle": 536870963,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "default_action_handle": 536870963,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "attached_to": "tbl_act_5",
+      "handle": 1879048193,
+      "name": "cond-13",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 3, "true": 2 },
+          "memory_resource_allocation": { "memory_unit": 6, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "tbl_act_6", "true": "tbl_act_5" },
+          "logical_table_id": 2,
+          "stage_number": 0,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.is_controller_packet_out",
+          "start_bit": 0,
+          "bit_width": 1
+        }
+      ],
+      "condition": "(fabric_metadata.is_controller_packet_out == 1)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777239,
+      "name": "tbl_act_6",
+      "table_type": "match",
+      "size": 0,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "size": 0,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 3,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": null,
             "result_physical_buses": [ 5 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
@@ -65630,957 +75111,8 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_17",
-                  "action_handle": 536870967,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 64,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_17",
-          "handle": 536870967,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870967,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_17",
-      "handle": 1879048193,
-      "name": "cond-19",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 3, "true": 2 },
-          "memory_resource_allocation": { "memory_unit": 5, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_18", "true": "tbl_act_17" },
-          "logical_table_id": 2,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.is_controller_packet_out",
-          "start_bit": 0,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(fabric_metadata.is_controller_packet_out == 1)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777251,
-      "name": "tbl_act_18",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 4 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_18",
-                  "action_handle": 536870968,
+                  "action_name": "act_6",
+                  "action_handle": 536870964,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 255,
@@ -66602,8 +75134,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_18",
-          "handle": 536870968,
+          "name": "act_6",
+          "handle": 536870964,
           "primitives": [
             {
               "name": "AddHeaderPrimitive",
@@ -66635,7 +75167,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870968,
+      "default_action_handle": 536870964,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -66647,16 +75179,16 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_18",
+      "attached_to": "tbl_act_6",
       "handle": 1879048194,
-      "name": "cond-20",
+      "name": "cond-14",
       "table_type": "condition",
       "stage_tables": [
         {
           "next_tables": { "false": 4, "true": 3 },
-          "memory_resource_allocation": { "memory_unit": 4, "memory_type": "gateway", "payload_buses": [] },
+          "memory_resource_allocation": { "memory_unit": 5, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_egress_next_set_mpls", "true": "tbl_act_18" },
+          "next_table_names": { "false": "tbl_egress_next_set_mpls", "true": "tbl_act_6" },
           "logical_table_id": 3,
           "stage_number": 0,
           "stage_table_type": "gateway",
@@ -66672,7 +75204,7 @@
     },
     {
       "direction": "egress",
-      "handle": 16777252,
+      "handle": 16777240,
       "name": "tbl_egress_next_set_mpls",
       "table_type": "match",
       "size": 0,
@@ -66719,7 +75251,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 3 ],
+            "result_physical_buses": [ 4 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
               "stage_table_type": "ternary_indirection",
@@ -67538,7 +76070,7 @@
               "action_format": [
                 {
                   "action_name": "FabricEgress.egress_next.set_mpls",
-                  "action_handle": 536870971,
+                  "action_handle": 536870967,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 6,
@@ -67546,7 +76078,7 @@
                   "vliw_instruction_full": 66,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_19",
+                      "next_table_name": "tbl_act_7",
                       "next_table_logical_id": 6,
                       "next_table_stage_no": 0
                     }
@@ -67567,7 +76099,7 @@
       "actions": [
         {
           "name": "FabricEgress.egress_next.set_mpls",
-          "handle": 536870971,
+          "handle": 536870967,
           "primitives": [
             {
               "name": "AddHeaderPrimitive",
@@ -67627,7 +76159,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870971,
+      "default_action_handle": 536870967,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -67641,12 +76173,12 @@
       "direction": "egress",
       "attached_to": "tbl_egress_next_set_mpls",
       "handle": 1879048195,
-      "name": "cond-22",
+      "name": "cond-16",
       "table_type": "condition",
       "stage_tables": [
         {
           "next_tables": { "false": 4, "true": 5 },
-          "memory_resource_allocation": { "memory_unit": 3, "memory_type": "gateway", "payload_buses": [] },
+          "memory_resource_allocation": { "memory_unit": 4, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
           "next_table_names": {
             "false": "tbl_egress_next_set_mpls",
@@ -67680,32 +76212,7 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_egress_next_pop_mpls_if_present",
-      "handle": 1879048196,
-      "name": "cond-23",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 6, "true": 5 },
-          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "tbl_act_19",
-            "true": "tbl_egress_next_pop_mpls_if_present"
-          },
-          "logical_table_id": 5,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(hdr.mpls.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777253,
+      "handle": 16777241,
       "name": "tbl_egress_next_pop_mpls_if_present",
       "table_type": "match",
       "size": 0,
@@ -67752,7 +76259,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 2 ],
+            "result_physical_buses": [ 3 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
               "stage_table_type": "ternary_indirection",
@@ -68571,7 +77078,7 @@
               "action_format": [
                 {
                   "action_name": "FabricEgress.egress_next.pop_mpls_if_present",
-                  "action_handle": 536870970,
+                  "action_handle": 536870966,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 6,
@@ -68579,7 +77086,7 @@
                   "vliw_instruction_full": 68,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_19",
+                      "next_table_name": "tbl_act_7",
                       "next_table_logical_id": 6,
                       "next_table_stage_no": 0
                     }
@@ -68600,7 +77107,7 @@
       "actions": [
         {
           "name": "FabricEgress.egress_next.pop_mpls_if_present",
-          "handle": 536870970,
+          "handle": 536870966,
           "primitives": [
             {
               "name": "RemoveHeaderPrimitive",
@@ -68632,7 +77139,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870970,
+      "default_action_handle": 536870966,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -68644,8 +77151,33 @@
     },
     {
       "direction": "egress",
-      "handle": 16777254,
-      "name": "tbl_act_19",
+      "attached_to": "tbl_egress_next_pop_mpls_if_present",
+      "handle": 1879048196,
+      "name": "cond-17",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 6, "true": 5 },
+          "memory_resource_allocation": { "memory_unit": 3, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "tbl_act_7",
+            "true": "tbl_egress_next_pop_mpls_if_present"
+          },
+          "logical_table_id": 5,
+          "stage_number": 0,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 7, "bit_width": 1 } ],
+      "condition": "(hdr.mpls.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777242,
+      "name": "tbl_act_7",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -68691,7 +77223,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 2 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
               "stage_table_type": "ternary_indirection",
@@ -69509,8 +78041,8 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_19",
-                  "action_handle": 536870969,
+                  "action_name": "act_7",
+                  "action_handle": 536870965,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 7,
@@ -69518,7 +78050,7 @@
                   "vliw_instruction_full": 67,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_spgw_egress_gtpu_encap",
+                      "next_table_name": "",
                       "next_table_logical_id": 7,
                       "next_table_stage_no": 0
                     }
@@ -69538,8 +78070,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_19",
-          "handle": 536870969,
+          "name": "act_7",
+          "handle": 536870965,
           "primitives": [
             {
               "name": "DropPrimitive",
@@ -69565,7 +78097,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870969,
+      "default_action_handle": 536870965,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -69577,16 +78109,16 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_19",
+      "attached_to": "tbl_act_7",
       "handle": 1879048197,
-      "name": "cond-21",
+      "name": "cond-15",
       "table_type": "condition",
       "stage_tables": [
         {
           "next_tables": { "false": 7, "true": 6 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_spgw_egress_gtpu_encap", "true": "tbl_act_19" },
+          "next_table_names": { "false": "", "true": "tbl_act_7" },
           "logical_table_id": 6,
           "stage_number": 0,
           "stage_table_type": "gateway",
@@ -69607,1090 +78139,19 @@
     },
     {
       "direction": "egress",
-      "handle": 16777255,
-      "name": "tbl_spgw_egress_gtpu_encap",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 7,
-            "has_attached_gateway": true,
-            "default_next_table": 8,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 0 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "FabricEgress.spgw_egress.gtpu_encap",
-                  "action_handle": 536870980,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 8,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 69,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_24",
-                      "next_table_logical_id": 8,
-                      "next_table_stage_no": 0
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554442,
-          "name": "tbl_spgw_egress_gtpu_encap$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricEgress.spgw_egress.gtpu_encap",
-          "handle": 536870980,
-          "primitives": [
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.version" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "immediate", "name": "4" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ihl" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "immediate", "name": "5" }
-            },
-            {
-              "name": "DirectAluPrimitive",
-              "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.total_len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" },
-              "src2": { "type": "immediate", "name": "36" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.identification" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "0x1513" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ttl" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "immediate", "name": "64" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.protocol" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "immediate", "name": "17" }
-            },
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.sport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "2152" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.dport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "2152" }
-            },
-            {
-              "name": "DirectAluPrimitive",
-              "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
-              "src2": { "type": "immediate", "name": "16" }
-            },
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.version" },
-              "dst_mask": { "type": "immediate", "name": "7" },
-              "src1": { "type": "immediate", "name": "0x1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.pt" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0x1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.spare" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.ex_flag" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.seq_flag" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.npdu_flag" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.msgtype" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "immediate", "name": "0xff" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.msglen" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.teid" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "fabric_metadata.spgw.teid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870980,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_spgw_egress_gtpu_encap",
+      "attached_to": "-",
       "handle": 1879048198,
-      "name": "cond-29",
+      "name": "cond-22",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 8, "true": 7 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 34, "true": 8 },
+          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_act_24", "true": "tbl_spgw_egress_gtpu_encap" },
+          "next_table_names": {
+            "false": "FabricEgress.egress_next.egress_vlan",
+            "true": "tbl_act_12"
+          },
           "logical_table_id": 7,
           "stage_number": 0,
           "stage_table_type": "gateway",
@@ -70699,232 +78160,18 @@
       ],
       "condition_fields": [
         {
-          "name": "fabric_metadata.spgw.outer_header_creation",
-          "start_bit": 2,
+          "name": "fabric_metadata.spgw.skip_spgw",
+          "start_bit": 0,
           "bit_width": 1
         }
       ],
-      "condition": "(fabric_metadata.spgw.outer_header_creation == 1)",
+      "condition": "(fabric_metadata.spgw.skip_spgw == 0)",
       "size": 0
     },
     {
       "direction": "egress",
-      "handle": 33554442,
-      "name": "tbl_spgw_egress_gtpu_encap$action",
-      "table_type": "action",
-      "size": 1024,
-      "stage_tables": [
-        {
-          "stage_number": 0,
-          "size": 1024,
-          "stage_table_type": "action_data",
-          "logical_table_id": 7,
-          "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,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 16, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 36, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 16,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "$constant4"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 73,
-                      "field_name": "$constant5"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 71,
-                      "field_name": "$constant6"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "$constant7"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 103,
-                      "field_name": "$constant8"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 105,
-                      "field_name": "$constant9"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "$constant2"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "$constant3"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 6,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 65,
-                      "field_name": "--padding_65_70--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 72,
-                      "field_name": "--padding_72_72--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 22,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 74,
-                      "field_name": "--padding_74_95--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 6,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 97,
-                      "field_name": "--padding_97_102--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 104,
-                      "field_name": "--padding_104_104--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 22,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 106,
-                      "field_name": "--padding_106_127--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870980
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricEgress.spgw_egress.gtpu_encap",
-          "handle": 536870980,
-          "p4_parameters": []
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "egress",
-      "handle": 16777256,
-      "name": "tbl_act_24",
+      "handle": 16777243,
+      "name": "tbl_act_12",
       "table_type": "match",
       "size": 8388608,
       "match_attributes": {
@@ -70948,14 +78195,20 @@
             "result_physical_buses": [ 0 ],
             "action_format": [
               {
-                "action_name": "act_24",
-                "action_handle": 536870979,
+                "action_name": "act_12",
+                "action_handle": 536870976,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
+                "next_table_full": 17,
+                "vliw_instruction": 1,
                 "vliw_instruction_full": 64,
-                "next_tables": [],
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_spgw_gtpu_encap",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 1
+                  }
+                ],
                 "immediate_fields": []
               }
             ]
@@ -70965,18 +78218,15 @@
       },
       "actions": [
         {
-          "name": "act_24",
-          "handle": 536870979,
+          "name": "act_12",
+          "handle": 536870976,
           "primitives": [
             {
               "name": "CountFromHashPrimitive",
-              "dst": {
-                "type": "counter",
-                "name": "FabricEgress.spgw_egress.pdr_counter"
-              },
+              "dst": { "type": "counter", "name": "FabricEgress.spgw.pdr_counter" },
               "idx": {
                 "type": "hash",
-                "name": "hash_FabricEgress.spgw_egress.pdr_counter",
+                "name": "hash_FabricEgress.spgw.pdr_counter",
                 "algorithm": "identity"
               },
               "hash_inputs": [ "fabric_metadata.spgw.ctr_id" ]
@@ -71000,7 +78250,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870979,
+      "default_action_handle": 536870976,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -71015,46 +78265,49 @@
         {
           "how_referenced": "indirect",
           "handle": 67108875,
-          "name": "FabricEgress.spgw_egress.pdr_counter"
+          "name": "FabricEgress.spgw.pdr_counter"
         }
       ],
       "stateful_table_refs": []
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_24",
+      "attached_to": "tbl_act_12",
       "handle": 1879048199,
-      "name": "tbl_act_24-gateway",
+      "name": "cond-24",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 9, "true": 9 },
-          "memory_resource_allocation": { "memory_unit": 7, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 17, "true": 17 },
+          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": {
-            "false": "FabricEgress.egress_next.egress_vlan",
-            "true": "FabricEgress.egress_next.egress_vlan"
-          },
+          "next_table_names": { "false": "tbl_spgw_gtpu_encap", "true": "tbl_spgw_gtpu_encap" },
           "logical_table_id": 8,
           "stage_number": 0,
           "stage_table_type": "gateway",
           "size": 0
         }
       ],
-      "condition_fields": [],
-      "condition": "true(always hit)",
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+          "start_bit": 5,
+          "bit_width": 1
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.skip_egress_pdr_ctr == 0)",
       "size": 0
     },
     {
       "direction": "egress",
       "handle": 67108875,
-      "name": "FabricEgress.spgw_egress.pdr_counter",
+      "name": "FabricEgress.spgw.pdr_counter",
       "table_type": "statistics",
-      "size": 1024,
+      "size": 2048,
       "stage_tables": [
         {
           "stage_number": 0,
-          "size": 1024,
+          "size": 2048,
           "stage_table_type": "statistics",
           "logical_table_id": 8,
           "pack_format": [
@@ -71067,10 +78320,13 @@
           ],
           "memory_resource_allocation": {
             "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 54 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 55
+            "memory_units_and_vpns": [
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] }
+            ],
+            "spare_bank_memory_unit": 80
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 3
         }
       ],
       "how_referenced": "indirect",
@@ -71081,23 +78337,17 @@
       "statistics_type": "packets_and_bytes"
     },
     {
-      "direction": "egress",
-      "handle": 16777257,
-      "name": "FabricEgress.egress_next.egress_vlan",
+      "direction": "ingress",
+      "handle": 16777219,
+      "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
       "table_type": "match",
-      "size": 2048,
+      "size": 4,
       "action_data_table_refs": [],
       "selection_table_refs": [],
       "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108876,
-          "name": "FabricEgress.egress_next.egress_vlan_counter"
-        }
-      ],
+      "statistics_table_refs": [],
       "stateful_table_refs": [],
-      "default_action_handle": 536870973,
+      "default_action_handle": 536870919,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -71105,39 +78355,48 @@
       "uses_range": false,
       "match_key_fields": [
         {
-          "name": "vlan_id",
-          "global_name": "fabric_metadata.vlan_id",
+          "name": "hdr.inner_tcp.$valid",
           "start_bit": 0,
-          "bit_width": 12,
-          "bit_width_full": 12,
+          "bit_width": 1,
+          "bit_width_full": 1,
           "position": 0,
           "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "vlan_id"
+          "is_valid": true,
+          "instance_name": "hdr.inner_tcp",
+          "field_name": "$valid"
         },
         {
-          "name": "eg_port",
-          "global_name": "eg_intr_md.egress_port",
+          "name": "hdr.inner_udp.$valid",
           "start_bit": 0,
-          "bit_width": 9,
-          "bit_width_full": 9,
+          "bit_width": 1,
+          "bit_width_full": 1,
           "position": 1,
           "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "eg_intr_md",
-          "field_name": "egress_port"
+          "is_valid": true,
+          "instance_name": "hdr.inner_udp",
+          "field_name": "$valid"
+        },
+        {
+          "name": "hdr.inner_icmp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 2,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_icmp",
+          "field_name": "$valid"
         }
       ],
       "ap_bind_indirect_res_to_match": [],
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 0,
-            "size": 4096,
+            "stage_number": 1,
+            "size": 1024,
             "stage_table_type": "hash_match",
-            "logical_table_id": 9,
-            "has_attached_gateway": false,
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
             "default_next_table": 255,
             "hash_functions": [
               {
@@ -71146,87 +78405,21 @@
                     "bits_to_xor": [
                       {
                         "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "field_name": "hdr.inner_udp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
                       }
                     ],
                     "hash_bit": 0,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
                         "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "field_name": "hdr.inner_tcp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
                       }
                     ],
                     "hash_bit": 1,
@@ -71235,1694 +78428,205 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_icmp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
                       }
                     ],
                     "hash_bit": 2,
                     "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
                   }
                 ],
-                "hash_function_number": 1,
-                "ghost_bit_to_hash_bit": [
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ],
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ]
-                ],
+                "hash_function_number": 0,
+                "ghost_bit_to_hash_bit": [ [ 2 ], [ 1 ], [ 0 ] ],
                 "ghost_bit_info": [
-                  { "field_name": "eg_port", "bit_in_match_spec": 0 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 1 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 2 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 3 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 4 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 8 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 8 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 9 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 10 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 11 }
+                  {
+                    "field_name": "hdr.inner_icmp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_tcp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_udp.$valid",
+                    "bit_in_match_spec": 0
+                  }
                 ]
               }
             ],
             "action_format": [
               {
-                "action_name": "nop",
-                "action_handle": 536870973,
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+                "action_handle": 536870916,
                 "table_name": "--END_OF_PIPELINE--",
-                "next_table": 4294967295,
-                "next_table_full": 10,
-                "vliw_instruction": -1,
-                "vliw_instruction_full": 64,
+                "next_table": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
                 "next_tables": [
                   {
-                    "next_table_name": "tbl_egress_next_push_vlan",
-                    "next_table_logical_id": 10,
-                    "next_table_stage_no": 0
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 7,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 12,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_7",
+                    "param_type": "constant",
+                    "const_value": 7,
+                    "param_shift": 0,
+                    "dest_start": 23,
+                    "dest_width": 3
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 28,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
+                "action_handle": 536870917,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 2,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
                   }
                 ],
                 "immediate_fields": []
               },
               {
-                "action_name": "FabricEgress.egress_next.pop_vlan",
-                "action_handle": 536870972,
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
+                "action_handle": 536870918,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 10,
-                "vliw_instruction": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 3,
+                "vliw_instruction_full": 68,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 11,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 13,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_3",
+                    "param_type": "constant",
+                    "const_value": 3,
+                    "param_shift": 0,
+                    "dest_start": 24,
+                    "dest_width": 2
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 27,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 29,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
+                "action_handle": 536870919,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 4,
                 "vliw_instruction_full": 70,
                 "next_tables": [
                   {
-                    "next_table_name": "tbl_act_20",
-                    "next_table_logical_id": 5,
-                    "next_table_stage_no": 1
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
                   }
                 ],
                 "immediate_fields": []
@@ -72950,28 +78654,26 @@
                       "entry_number": 0,
                       "fields": [
                         {
-                          "field_name": "eg_port",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 45,
-                          "start_bit": 5,
-                          "immediate_name": "",
+                          "start_bit": 0,
+                          "field_width": 30,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
+                          "source": "immediate",
                           "enable_pfe": false,
-                          "field_width": 3
+                          "lsb_mem_word_offset": 3,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
                         },
                         {
-                          "field_name": "vlan_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 32,
                           "start_bit": 0,
-                          "immediate_name": "",
+                          "field_width": 3,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
+                          "source": "instr",
                           "enable_pfe": false,
-                          "field_width": 8
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
                         }
                       ]
                     }
@@ -73000,7 +78702,7 @@
             },
             "ways": [
               {
-                "stage_number": 0,
+                "stage_number": 1,
                 "way_number": 0,
                 "stage_table_type": "hash_way",
                 "size": 1024,
@@ -73016,6 +78718,28 @@
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -73026,60 +78750,14 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
                             "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 79,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
+                            "lsb_mem_word_offset": 33,
+                            "field_name": "--padding_33_111--",
                             "match_mode": "unused"
                           },
                           {
@@ -73108,336 +78786,6 @@
                   "number_select_bits": 0,
                   "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
                 }
-              },
-              {
-                "stage_number": 0,
-                "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,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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": 0,
-                "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,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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 ] } ]
-                }
-              },
-              {
-                "stage_number": 0,
-                "way_number": 3,
-                "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,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
-                }
               }
             ]
           }
@@ -73447,2082 +78795,50 @@
       },
       "actions": [
         {
-          "name": "nop",
-          "handle": 536870973,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        },
-        {
-          "name": "FabricEgress.egress_next.pop_vlan",
-          "handle": 536870972,
-          "primitives": [
-            {
-              "name": "CountPrimitive",
-              "dst": {
-                "type": "counter",
-                "name": "FabricEgress.egress_next.egress_vlan_counter"
-              }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": false,
-          "disallowed_as_default_action_reason": "has_const_default",
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "handle": 67108876,
-      "name": "FabricEgress.egress_next.egress_vlan_counter",
-      "table_type": "statistics",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 0,
-          "size": 4096,
-          "stage_table_type": "statistics",
-          "logical_table_id": 9,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 1,
-              "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 ] },
-              { "memory_units": [ 81 ], "vpns": [ 3 ] }
-            ],
-            "spare_bank_memory_unit": 82
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 64,
-      "packet_counter_resolution": 64,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "egress",
-      "handle": 16777258,
-      "name": "tbl_egress_next_push_vlan",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 10,
-            "has_attached_gateway": true,
-            "default_next_table": 21,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "FabricEgress.egress_next.push_vlan",
-                  "action_handle": 536870974,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 21,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 72,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_20",
-                      "next_table_logical_id": 5,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricEgress.egress_next.push_vlan",
-          "handle": 536870974,
-          "primitives": [
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.cfi" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "fabric_metadata.vlan_cfi" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.pri" },
-              "dst_mask": { "type": "immediate", "name": "7" },
-              "src1": { "type": "phv", "name": "fabric_metadata.vlan_pri" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.eth_type" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "0x8100" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.vlan_id" },
-              "dst_mask": { "type": "immediate", "name": "4095" },
-              "src1": { "type": "phv", "name": "fabric_metadata.vlan_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870974,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_egress_next_push_vlan",
-      "handle": 1879048200,
-      "name": "cond-24",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 21, "true": 10 },
-          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_20", "true": "tbl_egress_next_push_vlan" },
-          "logical_table_id": 10,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        { "name": "fabric_metadata.vlan_id", "start_bit": 0, "bit_width": 8 },
-        { "name": "fabric_metadata.vlan_id", "start_bit": 8, "bit_width": 4 }
-      ],
-      "condition": "(fabric_metadata.vlan_id != 4094)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777219,
-      "name": "tbl_act_1",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": true,
-            "default_next_table": 17,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 5 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_3",
-                  "action_handle": 536870915,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 17,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_3",
-                      "next_table_logical_id": 1,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_3",
-          "handle": 536870915,
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+          "handle": 536870916,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.$valid" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.version" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.version" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ihl" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ihl" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.dscp" },
-              "dst_mask": { "type": "immediate", "name": "63" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.dscp" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ecn" },
-              "dst_mask": { "type": "immediate", "name": "3" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ecn" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.total_len" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
               "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" }
+              "src1": { "type": "immediate", "name": "0x800" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.identification" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.identification" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.flags" },
-              "dst_mask": { "type": "immediate", "name": "7" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.flags" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.frag_offset" },
-              "dst_mask": { "type": "immediate", "name": "8191" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.frag_offset" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ttl" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
               "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ttl" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.protocol" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.protocol" }
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.hdr_checksum" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
               "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" }
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.dst_addr" }
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -75623,1006 +78939,108 @@
               "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
             },
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.$valid" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "hdr.udp.$valid" }
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
             },
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.sport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.sport" }
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
             },
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.dport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.dport" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.len" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.checksum" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.checksum" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870915,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_1",
-      "handle": 1879048201,
-      "name": "cond-2",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 19, "true": 16 },
-          "memory_resource_allocation": { "memory_unit": 4, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_4", "true": "tbl_act_1" },
-          "logical_table_id": 0,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "spgw_normalizer_hasReturned",
-          "start_bit": 0,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(!spgw_normalizer_hasReturned)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777220,
-      "name": "tbl_act_3",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 19,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 4 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_2",
-                  "action_handle": 536870917,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 19,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_4",
-                      "next_table_logical_id": 3,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_2",
-          "handle": 536870917,
-          "primitives": [
-            {
               "name": "RemoveHeaderPrimitive",
               "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.tcp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.seq_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.seq_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ack_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ack_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.data_offset" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.data_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.res" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.res" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ecn" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ctrl" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ctrl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.window" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.window" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.urgent_ptr" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.urgent_ptr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_tcp.$valid" }
             }
           ],
           "indirect_resources": [],
-          "allowed_as_default_action": true,
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -76634,945 +79052,162 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870917,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_3",
-      "handle": 1879048202,
-      "name": "cond-3",
-      "table_type": "condition",
-      "stage_tables": [
+        },
         {
-          "next_tables": { "false": 17, "true": 18 },
-          "memory_resource_allocation": { "memory_unit": 3, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_3", "true": "tbl_act_2" },
-          "logical_table_id": 1,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.inner_udp.$valid", "start_bit": 1, "bit_width": 1 } ],
-      "condition": "(hdr.inner_udp.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777221,
-      "name": "tbl_act_2",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "default_next_table": 19,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 3 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_1",
-                  "action_handle": 536870916,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 19,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 68,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_4",
-                      "next_table_logical_id": 3,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_1",
-          "handle": 536870916,
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
+          "handle": 536870917,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.udp.$valid" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
               "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "hdr.inner_udp.$valid" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -77601,13 +79236,17 @@
               "dst": { "type": "phv", "name": "hdr.udp.checksum" },
               "dst_mask": { "type": "immediate", "name": "65535" },
               "src1": { "type": "phv", "name": "hdr.inner_udp.checksum" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_udp.$valid" }
             }
           ],
           "indirect_resources": [],
-          "allowed_as_default_action": true,
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -77619,934 +79258,219 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870916,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777222,
-      "name": "tbl_act_4",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 2 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_4",
-                  "action_handle": 536870918,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 67,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
+        },
         {
-          "name": "act_4",
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
           "handle": 536870918,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
-              "dst_mask": { "type": "immediate", "name": "511" },
-              "src1": { "type": "phv", "name": "hdr.packet_out.egress_port" }
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": {
-                "type": "phv",
-                "name": "fabric_metadata.is_controller_packet_out"
-              },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
               "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.icmp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_type" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_type" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_code" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_code" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.identifier" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.identifier" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.sequence_number" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.sequence_number" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.timestamp" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.timestamp" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_icmp.$valid" }
             }
           ],
           "indirect_resources": [],
-          "allowed_as_default_action": true,
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -78558,952 +79482,168 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870918,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_4",
-      "handle": 1879048203,
-      "name": "cond-4",
-      "table_type": "condition",
-      "stage_tables": [
+        },
         {
-          "next_tables": { "false": 20, "true": 19 },
-          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_9", "true": "tbl_act_4" },
-          "logical_table_id": 3,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.packet_out.$valid", "start_bit": 1, "bit_width": 1 } ],
-      "condition": "(hdr.packet_out.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777223,
-      "name": "tbl_act_9",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 4,
-            "has_attached_gateway": true,
-            "default_next_table": 32,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_8",
-                  "action_handle": 536870927,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 32,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 69,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_spgw_ingress_gtpu_decap",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_8",
-          "handle": 536870927,
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
+          "handle": 536870919,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.direction" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
               "dst_mask": { "type": "immediate", "name": "3" },
-              "src1": { "type": "immediate", "name": "1" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
             }
           ],
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -79517,45 +79657,77 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870927,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
+      "static_entries": [
+        {
+          "priority": 0,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870916,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 1,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870917,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 2,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x1" }
+          ],
+          "action_handle": 536870918,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        }
+      ]
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_9",
-      "handle": 1879048204,
-      "name": "cond-7",
+      "attached_to": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+      "handle": 1879048200,
+      "name": "cond-2",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 33, "true": 20 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 32, "true": 16 },
+          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
           "next_table_names": {
-            "false": "FabricIngress.spgw_ingress.downlink_filter_table",
-            "true": "tbl_act_9"
+            "false": "FabricIngress.spgw.downlink_pdrs",
+            "true": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu"
           },
-          "logical_table_id": 4,
+          "logical_table_id": 0,
           "stage_number": 1,
           "stage_table_type": "gateway",
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "hdr.gtpu.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(hdr.gtpu.$valid == 1)",
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.src_iface",
+          "start_bit": 0,
+          "bit_width": 8
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.src_iface == 3)",
       "size": 0
     },
     {
       "direction": "egress",
-      "handle": 16777259,
-      "name": "tbl_act_20",
+      "handle": 16777244,
+      "name": "tbl_spgw_gtpu_encap",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -79564,9 +79736,9 @@
             "stage_number": 1,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 5,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
-            "default_next_table": 42,
+            "default_next_table": 34,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -79610,386 +79782,11 @@
                 {
                   "memory_word_width": 128,
                   "table_word_width": 128,
-                  "entries_per_table_word": 32,
+                  "entries_per_table_word": 2,
                   "number_memory_units_per_table_word": 1,
                   "entries": [
                     {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
+                      "entry_number": 1,
                       "fields": [
                         {
                           "start_bit": 0,
@@ -80003,388 +79800,23 @@
                         },
                         {
                           "start_bit": 0,
-                          "field_width": 3,
+                          "field_width": 32,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
-                          "source": "zero",
+                          "source": "immediate",
                           "enable_pfe": false,
                           "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
+                          "field_name": "immediate"
                         },
                         {
                           "start_bit": 0,
-                          "field_width": 3,
+                          "field_width": 31,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
                           "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_33_63--"
                         }
                       ]
                     },
@@ -80403,13 +79835,23 @@
                         },
                         {
                           "start_bit": 0,
-                          "field_width": 3,
+                          "field_width": 32,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 31,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
                           "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_33_63--"
                         }
                       ]
                     }
@@ -80419,21 +79861,38 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_21",
+                  "action_name": "FabricEgress.spgw.gtpu_encap",
                   "action_handle": 536870975,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 42,
+                  "next_table_full": 34,
                   "vliw_instruction": 1,
                   "vliw_instruction_full": 65,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_21",
-                      "next_table_logical_id": 10,
+                      "next_table_name": "FabricEgress.egress_next.egress_vlan",
+                      "next_table_logical_id": 2,
                       "next_table_stage_no": 2
                     }
                   ],
-                  "immediate_fields": []
+                  "immediate_fields": [
+                    {
+                      "param_name": "constant_36",
+                      "param_type": "constant",
+                      "const_value": 36,
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16
+                    },
+                    {
+                      "param_name": "constant_16",
+                      "param_type": "constant",
+                      "const_value": 16,
+                      "param_shift": 0,
+                      "dest_start": 16,
+                      "dest_width": 16
+                    }
+                  ]
                 }
               ]
             }
@@ -80448,16 +79907,127 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_21",
+          "name": "FabricEgress.spgw.gtpu_encap",
           "handle": 536870975,
           "primitives": [
             {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "immediate", "name": "4" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "immediate", "name": "5" }
+            },
+            {
               "name": "DirectAluPrimitive",
               "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.mpls.ttl" },
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "src2": { "type": "immediate", "name": "36" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x1513" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ttl" },
               "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.mpls.ttl" },
-              "src2": { "type": "immediate", "name": "255" }
+              "src1": { "type": "immediate", "name": "64" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "immediate", "name": "17" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_udp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "2152" }
+            },
+            {
+              "name": "DirectAluPrimitive",
+              "operation": "add",
+              "dst": { "type": "phv", "name": "hdr.gtpu_udp.len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
+              "src2": { "type": "immediate", "name": "16" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.outer_gtpu.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.version" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "immediate", "name": "0x1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.pt" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0x1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.spare" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.ex_flag" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.seq_flag" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.npdu_flag" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.msgtype" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "immediate", "name": "0xff" }
             }
           ],
           "indirect_resources": [],
@@ -80490,2321 +80060,53 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_20",
-      "handle": 1879048205,
-      "name": "cond-25",
+      "attached_to": "tbl_spgw_gtpu_encap",
+      "handle": 1879048201,
+      "name": "cond-23",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 22, "true": 21 },
+          "next_tables": { "false": 34, "true": 17 },
           "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_act_22", "true": "tbl_act_20" },
-          "logical_table_id": 5,
+          "next_table_names": {
+            "false": "FabricEgress.egress_next.egress_vlan",
+            "true": "tbl_spgw_gtpu_encap"
+          },
+          "logical_table_id": 1,
           "stage_number": 1,
           "stage_table_type": "gateway",
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(hdr.mpls.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777260,
-      "name": "tbl_act_22",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 6,
-            "has_attached_gateway": true,
-            "default_next_table": 41,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 6 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_23",
-                  "action_handle": 536870977,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 41,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_23",
-                      "next_table_logical_id": 9,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
+      "condition_fields": [
         {
-          "name": "act_23",
-          "handle": 536870977,
-          "primitives": [
-            {
-              "name": "DirectAluPrimitive",
-              "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ttl" },
-              "src2": { "type": "immediate", "name": "255" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
+          "name": "fabric_metadata.spgw.needs_gtpu_encap",
+          "start_bit": 4,
+          "bit_width": 1
         }
       ],
-      "default_action_handle": 536870977,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_22",
-      "handle": 1879048206,
-      "name": "cond-27",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 255, "true": 22 },
-          "memory_resource_allocation": { "memory_unit": 5, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "END", "true": "tbl_act_22" },
-          "logical_table_id": 6,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.ipv4.$valid", "start_bit": 4, "bit_width": 1 } ],
-      "condition": "(hdr.ipv4.$valid == 1)",
+      "condition": "(fabric_metadata.spgw.needs_gtpu_encap == 1)",
       "size": 0
     },
     {
       "direction": "ingress",
-      "handle": 16777227,
-      "name": "tbl_spgw_ingress_gtpu_decap",
+      "handle": 16777220,
+      "name": "FabricIngress.spgw.downlink_pdrs",
       "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": false,
-            "default_next_table": 36,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "FabricIngress.spgw_ingress.gtpu_decap",
-                  "action_handle": 536870928,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 36,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.spgw_ingress.uplink_filter_table",
-                      "next_table_logical_id": 4,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
+      "size": 1024,
       "action_data_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 33554433,
-          "name": "tbl_spgw_ingress_gtpu_decap$action"
+          "handle": 33554434,
+          "name": "FabricIngress.spgw.downlink_pdrs$action"
         }
       ],
       "selection_table_refs": [],
       "meter_table_refs": [],
       "statistics_table_refs": [],
       "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.gtpu_decap",
-          "handle": 536870928,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.gtpu.teid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.gtpu_ipv4.dst_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.dst_addr" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870928,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554433,
-      "name": "tbl_spgw_ingress_gtpu_decap$action",
-      "table_type": "action",
-      "size": 2048,
-      "stage_tables": [
-        {
-          "stage_number": 2,
-          "size": 2048,
-          "stage_table_type": "action_data",
-          "logical_table_id": 0,
-          "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,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 74,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 72,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 104,
-                      "field_name": "$constant2"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 106,
-                      "field_name": "$constant3"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 8,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "--padding_0_7--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 73,
-                      "field_name": "--padding_9_9--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 29,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 75,
-                      "field_name": "--padding_11_39--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 105,
-                      "field_name": "--padding_41_41--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 21,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 107,
-                      "field_name": "--padding_43_63--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 10,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 8,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 40,
-                      "field_name": "$constant2"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 42,
-                      "field_name": "$constant3"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 8,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_7--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 9,
-                      "field_name": "--padding_9_9--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 29,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 11,
-                      "field_name": "--padding_11_39--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 41,
-                      "field_name": "--padding_41_41--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 21,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 43,
-                      "field_name": "--padding_43_63--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870928
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.gtpu_decap",
-          "handle": 536870928,
-          "p4_parameters": []
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777224,
-      "name": "FabricIngress.spgw_ingress.downlink_filter_table",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": false,
-            "default_next_table": 34,
-            "pack_format": [
-              {
-                "table_word_width": 47,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--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_prefix",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 32
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 10
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 3 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 3
-            },
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "action_format": [
-                {
-                  "action_name": "nop",
-                  "action_handle": 536870929,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 35,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 64,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_10",
-                      "next_table_logical_id": 2,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ],
-              "memory_resource_allocation": null,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "entries_per_table_word": 1,
-                  "entries": [ { "entry_number": 0, "fields": [] } ],
-                  "table_word_width": 0,
-                  "number_memory_units_per_table_word": 0
-                }
-              ],
-              "logical_table_id": 1,
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870929,
+      "default_action_handle": 536870923,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -82812,23 +80114,3872 @@
       "uses_range": false,
       "match_key_fields": [
         {
-          "name": "ipv4_prefix",
+          "name": "ue_addr",
           "global_name": "hdr.ipv4.dst_addr",
           "start_bit": 0,
           "bit_width": 32,
           "bit_width_full": 32,
           "position": 0,
-          "match_type": "lpm",
+          "match_type": "exact",
           "is_valid": false,
           "instance_name": "hdr.ipv4",
           "field_name": "dst_addr"
         }
       ],
       "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 4096,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 10,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 13,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 17,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 0
+                  }
+                ],
+                "hash_function_number": 0,
+                "ghost_bit_to_hash_bit": [
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ],
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ]
+                ],
+                "ghost_bit_info": [
+                  { "field_name": "ue_addr", "bit_in_match_spec": 0 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 1 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 2 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 3 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 4 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 5 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 6 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 7 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 8 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 9 }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "NoAction",
+                "action_handle": 536870923,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 4294967295,
+                "next_table_full": 48,
+                "vliw_instruction": -1,
+                "vliw_instruction_full": 64,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_pdr",
+                "action_handle": 536870922,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 48,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "needs_gtpu_decap",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
+              }
+            ],
+            "result_physical_buses": [ 13, 10 ],
+            "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,
+            "stash_allocation": {
+              "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,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "field_name": "ue_addr",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 50,
+                          "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": "ue_addr",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 32,
+                          "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": "ue_addr",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 40,
+                          "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,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 24,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 25,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 77 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 78 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 62 ], "vpns": [ 2 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 3,
+                "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,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 63 ], "vpns": [ 3 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
       "actions": [
         {
-          "name": "nop",
-          "handle": 536870929,
+          "name": "NoAction",
+          "handle": 536870923,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -82845,14 +83996,10930 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
+        },
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870922,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "ctr_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "far_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_decap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "needs_gtpu_decap" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ],
+          "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
         }
       ],
       "static_entries": []
     },
     {
       "direction": "ingress",
-      "handle": 16777225,
-      "name": "tbl_act_10",
+      "attached_to": "FabricIngress.spgw.downlink_pdrs",
+      "handle": 1879048202,
+      "name": "cond-3",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 32, "true": 33 },
+          "memory_resource_allocation": { "memory_unit": 12, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "FabricIngress.spgw.downlink_pdrs",
+            "true": "FabricIngress.spgw.uplink_pdrs"
+          },
+          "logical_table_id": 0,
+          "stage_number": 2,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.gtpu.$valid", "start_bit": 1, "bit_width": 1 } ],
+      "condition": "(hdr.gtpu.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 33554434,
+      "name": "FabricIngress.spgw.downlink_pdrs$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 0,
+          "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": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 88,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 24,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870922
+            },
+            {
+              "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,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870923
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 66 ], "vpns": [ 0 ] },
+              { "memory_units": [ 67 ], "vpns": [ 1 ] }
+            ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870922,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ]
+        },
+        { "name": "NoAction", "handle": 536870923, "p4_parameters": [] }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777221,
+      "name": "FabricIngress.spgw.uplink_pdrs",
+      "table_type": "match",
+      "size": 1024,
+      "action_data_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 33554435,
+          "name": "FabricIngress.spgw.uplink_pdrs$action"
+        }
+      ],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870921,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "tunnel_ipv4_dst",
+          "global_name": "hdr.ipv4.dst_addr",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "position": 0,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "hdr.ipv4",
+          "field_name": "dst_addr"
+        },
+        {
+          "name": "teid",
+          "global_name": "hdr.gtpu.teid",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "hdr.gtpu",
+          "field_name": "teid"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 4096,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 1,
+            "has_attached_gateway": false,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 10,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 13,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 17,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 1
+                  }
+                ],
+                "hash_function_number": 1,
+                "ghost_bit_to_hash_bit": [
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ],
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ]
+                ],
+                "ghost_bit_info": [
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 0 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 1 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 2 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 3 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 4 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 5 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 6 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 7 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 8 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 9 }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "NoAction",
+                "action_handle": 536870921,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 4294967295,
+                "next_table_full": 48,
+                "vliw_instruction": -1,
+                "vliw_instruction_full": 64,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_pdr",
+                "action_handle": 536870920,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 48,
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "needs_gtpu_decap",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
+              }
+            ],
+            "result_physical_buses": [ 15, 12 ],
+            "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,
+            "stash_allocation": {
+              "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,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "field_name": "tunnel_ipv4_dst",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 82,
+                          "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": "tunnel_ipv4_dst",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 32,
+                          "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": "tunnel_ipv4_dst",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 40,
+                          "start_bit": 24,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "field_name": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 48,
+                          "start_bit": 0,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "field_name": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 56,
+                          "start_bit": 8,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "field_name": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 64,
+                          "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": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 72,
+                          "start_bit": 24,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 30,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 31,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 90 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 74 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 75 ], "vpns": [ 2 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 3,
+                "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,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 76 ], "vpns": [ 3 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870920,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "ctr_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "far_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_decap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "needs_gtpu_decap" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ],
+          "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
+        }
+      ],
+      "static_entries": []
+    },
+    {
+      "direction": "ingress",
+      "handle": 33554435,
+      "name": "FabricIngress.spgw.uplink_pdrs$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 1,
+          "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": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 88,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 24,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870920
+            },
+            {
+              "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,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870921
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 91 ], "vpns": [ 0 ] },
+              { "memory_units": [ 92 ], "vpns": [ 1 ] }
+            ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870920,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ]
+        },
+        { "name": "NoAction", "handle": 536870921, "p4_parameters": [] }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
+    },
+    {
+      "direction": "egress",
+      "handle": 16777245,
+      "name": "FabricEgress.egress_next.egress_vlan",
+      "table_type": "match",
+      "size": 2048,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 67108876,
+          "name": "FabricEgress.egress_next.egress_vlan_counter"
+        }
+      ],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870970,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "vlan_id",
+          "global_name": "fabric_metadata.vlan_id",
+          "start_bit": 0,
+          "bit_width": 12,
+          "bit_width_full": 12,
+          "position": 0,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "fabric_metadata",
+          "field_name": "vlan_id"
+        },
+        {
+          "name": "eg_port",
+          "global_name": "eg_intr_md.egress_port",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "eg_intr_md",
+          "field_name": "egress_port"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 4096,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 2,
+            "has_attached_gateway": false,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 10,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 13,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 17,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 0
+                  }
+                ],
+                "hash_function_number": 2,
+                "ghost_bit_to_hash_bit": [
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ],
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ]
+                ],
+                "ghost_bit_info": [
+                  { "field_name": "eg_port", "bit_in_match_spec": 0 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 1 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 2 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 3 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 4 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 8 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 8 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 9 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 10 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 11 }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "FabricEgress.egress_next.drop",
+                "action_handle": 536870970,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 4294967295,
+                "next_table_full": 35,
+                "vliw_instruction": -1,
+                "vliw_instruction_full": 67,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_8",
+                    "next_table_logical_id": 3,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricEgress.egress_next.push_vlan",
+                "action_handle": 536870968,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 35,
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 65,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_8",
+                    "next_table_logical_id": 3,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricEgress.egress_next.pop_vlan",
+                "action_handle": 536870969,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 35,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_8",
+                    "next_table_logical_id": 3,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": []
+              }
+            ],
+            "result_physical_buses": [ 14 ],
+            "pack_format": [
+              {
+                "memory_word_width": 128,
+                "table_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1
+              }
+            ],
+            "memory_resource_allocation": null,
+            "stash_allocation": {
+              "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": [
+                        {
+                          "field_name": "eg_port",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 45,
+                          "start_bit": 5,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 3
+                        },
+                        {
+                          "field_name": "vlan_id",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 32,
+                          "start_bit": 0,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 28,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 29,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 3,
+                "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,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
+      "actions": [
+        {
+          "name": "FabricEgress.egress_next.drop",
+          "handle": 536870970,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricEgress.egress_next.push_vlan",
+          "handle": 536870968,
+          "primitives": [
+            {
+              "name": "CountPrimitive",
+              "dst": {
+                "type": "counter",
+                "name": "FabricEgress.egress_next.egress_vlan_counter"
+              }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.cfi" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "fabric_metadata.vlan_cfi" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.pri" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "fabric_metadata.vlan_pri" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x8100" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.vlan_id" },
+              "dst_mask": { "type": "immediate", "name": "4095" },
+              "src1": { "type": "phv", "name": "fabric_metadata.vlan_id" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricEgress.egress_next.pop_vlan",
+          "handle": 536870969,
+          "primitives": [
+            {
+              "name": "CountPrimitive",
+              "dst": {
+                "type": "counter",
+                "name": "FabricEgress.egress_next.egress_vlan_counter"
+              }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "handle": 67108876,
+      "name": "FabricEgress.egress_next.egress_vlan_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 2,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 79 ], "vpns": [ 0 ] },
+              { "memory_units": [ 80 ], "vpns": [ 1 ] },
+              { "memory_units": [ 81 ], "vpns": [ 2 ] },
+              { "memory_units": [ 82 ], "vpns": [ 3 ] }
+            ],
+            "spare_bank_memory_unit": 83
+          },
+          "stats_alu_index": 3
+        }
+      ],
+      "how_referenced": "direct",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 64,
+      "packet_counter_resolution": 64,
+      "statistics_type": "packets_and_bytes"
+    },
+    {
+      "direction": "egress",
+      "handle": 16777246,
+      "name": "tbl_act_8",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -82861,9 +94928,9 @@
             "stage_number": 2,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "default_next_table": 38,
+            "logical_table_id": 3,
+            "has_attached_gateway": true,
+            "default_next_table": 51,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -82898,7 +94965,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 7 ],
+            "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
               "stage_number": 2,
               "stage_table_type": "ternary_indirection",
@@ -83717,17 +95784,17 @@
               "action_format": [
                 {
                   "action_name": "act_9",
-                  "action_handle": 536870930,
+                  "action_handle": 536870971,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 38,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 66,
+                  "next_table_full": 51,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 68,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_5",
-                      "next_table_logical_id": 6,
-                      "next_table_stage_no": 2
+                      "next_table_name": "tbl_act_9",
+                      "next_table_logical_id": 3,
+                      "next_table_stage_no": 3
                     }
                   ],
                   "immediate_fields": []
@@ -83746,14 +95813,15 @@
       "actions": [
         {
           "name": "act_9",
-          "handle": 536870930,
+          "handle": 536870971,
           "primitives": [
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.direction" },
-              "dst_mask": { "type": "immediate", "name": "3" },
-              "src1": { "type": "immediate", "name": "2" }
+              "name": "DirectAluPrimitive",
+              "operation": "add",
+              "dst": { "type": "phv", "name": "hdr.mpls.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.mpls.ttl" },
+              "src2": { "type": "immediate", "name": "255" }
             }
           ],
           "indirect_resources": [],
@@ -83774,7 +95842,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870930,
+      "default_action_handle": 536870971,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -83785,9 +95853,31 @@
       "static_entries": []
     },
     {
-      "direction": "ingress",
-      "handle": 16777226,
-      "name": "tbl_act_11",
+      "direction": "egress",
+      "attached_to": "tbl_act_8",
+      "handle": 1879048203,
+      "name": "cond-18",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 36, "true": 35 },
+          "memory_resource_allocation": { "memory_unit": 10, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "tbl_act_10", "true": "tbl_act_8" },
+          "logical_table_id": 3,
+          "stage_number": 2,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 7, "bit_width": 1 } ],
+      "condition": "(hdr.mpls.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777247,
+      "name": "tbl_act_10",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -83796,9 +95886,9 @@
             "stage_number": 2,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": false,
-            "default_next_table": 38,
+            "logical_table_id": 4,
+            "has_attached_gateway": true,
+            "default_next_table": 50,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -83833,7 +95923,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 6 ],
+            "result_physical_buses": [ 1 ],
             "ternary_indirection_stage_table": {
               "stage_number": 2,
               "stage_table_type": "ternary_indirection",
@@ -84651,20 +96741,2536 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
+                  "action_name": "act_11",
+                  "action_handle": 536870973,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 50,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 69,
+                  "next_tables": [
+                    {
+                      "next_table_name": "tbl_act_11",
+                      "next_table_logical_id": 2,
+                      "next_table_stage_no": 3
+                    }
+                  ],
+                  "immediate_fields": []
+                }
+              ]
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "actions": [
+        {
+          "name": "act_11",
+          "handle": 536870973,
+          "primitives": [
+            {
+              "name": "DirectAluPrimitive",
+              "operation": "add",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "src2": { "type": "immediate", "name": "255" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "default_action_handle": 536870973,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "attached_to": "tbl_act_10",
+      "handle": 1879048204,
+      "name": "cond-20",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 255, "true": 36 },
+          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "END", "true": "tbl_act_10" },
+          "logical_table_id": 4,
+          "stage_number": 2,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 },
+        { "name": "hdr.ipv4.$valid", "start_bit": 8, "bit_width": 1 }
+      ],
+      "condition": "(hdr.ipv4.$valid == 1 && fabric_metadata.fwd_type != 0)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777222,
+      "name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+      "table_type": "match",
+      "size": 4,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870928,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "hdr.inner_tcp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 0,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_tcp",
+          "field_name": "$valid"
+        },
+        {
+          "name": "hdr.inner_udp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_udp",
+          "field_name": "$valid"
+        },
+        {
+          "name": "hdr.inner_icmp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 2,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_icmp",
+          "field_name": "$valid"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 1024,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_udp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_tcp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_icmp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 0
+                  }
+                ],
+                "hash_function_number": 0,
+                "ghost_bit_to_hash_bit": [ [ 2 ], [ 1 ], [ 0 ] ],
+                "ghost_bit_info": [
+                  {
+                    "field_name": "hdr.inner_icmp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_tcp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_udp.$valid",
+                    "bit_in_match_spec": 0
+                  }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
+                "action_handle": 536870925,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 7,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 12,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_7",
+                    "param_type": "constant",
+                    "const_value": 7,
+                    "param_shift": 0,
+                    "dest_start": 23,
+                    "dest_width": 3
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 28,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
+                "action_handle": 536870926,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 2,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
+                "action_handle": 536870927,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 3,
+                "vliw_instruction_full": 68,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 11,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 13,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_3",
+                    "param_type": "constant",
+                    "const_value": 3,
+                    "param_shift": 0,
+                    "dest_start": 24,
+                    "dest_width": 2
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 27,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 29,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
+                "action_handle": 536870928,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 4,
+                "vliw_instruction_full": 70,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              }
+            ],
+            "result_physical_buses": [ 14 ],
+            "pack_format": [
+              {
+                "memory_word_width": 128,
+                "table_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1
+              }
+            ],
+            "memory_resource_allocation": null,
+            "stash_allocation": {
+              "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,
+                          "field_width": 30,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 3,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 28,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 29,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 3,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 79,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 33,
+                            "field_name": "--padding_33_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
+          "handle": 536870925,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.tcp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.seq_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.seq_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ack_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ack_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.data_offset" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.data_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.res" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.res" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ecn" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ctrl" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ctrl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.window" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.window" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.urgent_ptr" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.urgent_ptr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_tcp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
+          "handle": 536870926,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.checksum" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_udp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
+          "handle": 536870927,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.icmp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_type" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_type" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_code" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_code" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.identifier" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.identifier" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.sequence_number" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.sequence_number" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.timestamp" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.timestamp" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_icmp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
+          "handle": 536870928,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "static_entries": [
+        {
+          "priority": 0,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870925,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 1,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870926,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 2,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x1" }
+          ],
+          "action_handle": 536870927,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        }
+      ]
+    },
+    {
+      "direction": "ingress",
+      "attached_to": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+      "handle": 1879048205,
+      "name": "cond-5",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 49, "true": 48 },
+          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "tbl_act_0",
+            "true": "FabricIngress.spgw.decap_gtpu.decap_gtpu"
+          },
+          "logical_table_id": 0,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.needs_gtpu_decap",
+          "start_bit": 0,
+          "bit_width": 1
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.needs_gtpu_decap == 1)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777223,
+      "name": "tbl_act_0",
+      "table_type": "match",
+      "size": 8388608,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "logical_table_id": 1,
+            "has_attached_gateway": true,
+            "memory_resource_allocation": null,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 0,
+                "number_memory_units_per_table_word": 0
+              }
+            ],
+            "result_physical_buses": [ 0 ],
+            "action_format": [
+              {
+                "action_name": "act_0",
+                "action_handle": 536870924,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 64,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.fars",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 4
+                  }
+                ],
+                "immediate_fields": []
+              }
+            ]
+          }
+        ],
+        "match_type": "match_with_no_key"
+      },
+      "actions": [
+        {
+          "name": "act_0",
+          "handle": 536870924,
+          "primitives": [
+            {
+              "name": "CountFromHashPrimitive",
+              "dst": { "type": "counter", "name": "FabricIngress.spgw.pdr_counter" },
+              "idx": {
+                "type": "hash",
+                "name": "hash_FabricIngress.spgw.pdr_counter",
+                "algorithm": "identity"
+              },
+              "hash_inputs": [
+                "compiler_generated_meta.bridged_metadata.fields_md_spgw_ctr_id"
+              ]
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "disallowed_as_default_action_reason": "",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": true,
+          "override_stat_addr_pfe": true,
+          "override_stat_full_addr": 524288,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0,
+          "is_action_meter_color_aware": false
+        }
+      ],
+      "default_action_handle": 536870924,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 67108865,
+          "name": "FabricIngress.spgw.pdr_counter"
+        }
+      ],
+      "stateful_table_refs": []
+    },
+    {
+      "direction": "ingress",
+      "attached_to": "tbl_act_0",
+      "handle": 1879048206,
+      "name": "cond-4",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 64, "true": 64 },
+          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "FabricIngress.spgw.fars",
+            "true": "FabricIngress.spgw.fars"
+          },
+          "logical_table_id": 1,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.src_iface",
+          "start_bit": 0,
+          "bit_width": 8
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.src_iface != 3)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 67108865,
+      "name": "FabricIngress.spgw.pdr_counter",
+      "table_type": "statistics",
+      "size": 2048,
+      "stage_tables": [
+        {
+          "stage_number": 3,
+          "size": 2048,
+          "stage_table_type": "statistics",
+          "logical_table_id": 1,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "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 ] }
+            ],
+            "spare_bank_memory_unit": 80
+          },
+          "stats_alu_index": 3
+        }
+      ],
+      "how_referenced": "indirect",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 64,
+      "packet_counter_resolution": 64,
+      "statistics_type": "packets_and_bytes"
+    },
+    {
+      "direction": "egress",
+      "handle": 16777248,
+      "name": "tbl_act_11",
+      "table_type": "match",
+      "size": 0,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 0,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 2,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": null,
+            "result_physical_buses": [ 1 ],
+            "ternary_indirection_stage_table": {
+              "stage_number": 3,
+              "stage_table_type": "ternary_indirection",
+              "size": 0,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 32,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 31,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 125,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 30,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 29,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 116,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 117,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 28,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 27,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 26,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 25,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 100,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 101,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 24,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 23,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 93,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 22,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 21,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 84,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 85,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 20,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 19,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 18,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 17,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 68,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 69,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 16,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 61,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 52,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 53,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 36,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 37,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 29,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 20,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 21,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 4,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 5,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": null,
+              "action_format": [
+                {
                   "action_name": "act_10",
-                  "action_handle": 536870931,
+                  "action_handle": 536870974,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 38,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 67,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_5",
-                      "next_table_logical_id": 6,
-                      "next_table_stage_no": 2
-                    }
-                  ],
+                  "next_table_full": 255,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 65,
+                  "next_tables": [],
                   "immediate_fields": []
                 }
               ]
@@ -84681,13 +99287,11 @@
       "actions": [
         {
           "name": "act_10",
-          "handle": 536870931,
+          "handle": 536870974,
           "primitives": [
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "spgw_ingress_hasReturned" },
-              "dst_mask": { "type": "immediate", "name": "1" },
+              "name": "DropPrimitive",
+              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
               "src1": { "type": "immediate", "name": "1" }
             }
           ],
@@ -84709,7 +99313,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870931,
+      "default_action_handle": 536870974,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -84720,17 +99324,994 @@
       "static_entries": []
     },
     {
-      "direction": "ingress",
-      "handle": 16777228,
-      "name": "FabricIngress.spgw_ingress.uplink_filter_table",
+      "direction": "egress",
+      "attached_to": "tbl_act_11",
+      "handle": 1879048207,
+      "name": "cond-21",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 255, "true": 50 },
+          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "END", "true": "tbl_act_11" },
+          "logical_table_id": 2,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.ipv4.ttl", "start_bit": 0, "bit_width": 8 } ],
+      "condition": "(hdr.ipv4.ttl == 0)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777249,
+      "name": "tbl_act_9",
       "table_type": "match",
-      "size": 9216,
+      "size": 0,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 0,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 3,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": null,
+            "result_physical_buses": [ 2 ],
+            "ternary_indirection_stage_table": {
+              "stage_number": 3,
+              "stage_table_type": "ternary_indirection",
+              "size": 0,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 32,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 31,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 125,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 30,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 29,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 116,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 117,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 28,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 27,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 26,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 25,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 100,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 101,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 24,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 23,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 93,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 22,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 21,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 84,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 85,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 20,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 19,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 18,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 17,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 68,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 69,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 16,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 61,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 52,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 53,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 36,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 37,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 29,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 20,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 21,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 4,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 5,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": null,
+              "action_format": [
+                {
+                  "action_name": "act_8",
+                  "action_handle": 536870972,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 66,
+                  "next_tables": [],
+                  "immediate_fields": []
+                }
+              ]
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
       "action_data_table_refs": [],
       "selection_table_refs": [],
       "meter_table_refs": [],
       "statistics_table_refs": [],
       "stateful_table_refs": [],
-      "default_action_handle": 536870925,
+      "actions": [
+        {
+          "name": "act_8",
+          "handle": 536870972,
+          "primitives": [
+            {
+              "name": "DropPrimitive",
+              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
+              "src1": { "type": "immediate", "name": "1" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "default_action_handle": 536870972,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "attached_to": "tbl_act_9",
+      "handle": 1879048208,
+      "name": "cond-19",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 255, "true": 51 },
+          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "END", "true": "tbl_act_9" },
+          "logical_table_id": 3,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.mpls.ttl", "start_bit": 0, "bit_width": 8 } ],
+      "condition": "(hdr.mpls.ttl == 0)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777224,
+      "name": "FabricIngress.spgw.fars",
+      "table_type": "match",
+      "size": 2048,
+      "action_data_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 33554436,
+          "name": "FabricIngress.spgw.fars$action"
+        }
+      ],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870929,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -84738,26 +100319,26 @@
       "uses_range": false,
       "match_key_fields": [
         {
-          "name": "gtp_ipv4_dst",
-          "global_name": "hdr.gtpu_ipv4.dst_addr",
+          "name": "far_id",
+          "global_name": "fabric_metadata.spgw.far_id",
           "start_bit": 0,
           "bit_width": 32,
           "bit_width_full": 32,
           "position": 0,
           "match_type": "exact",
           "is_valid": false,
-          "instance_name": "hdr.gtpu_ipv4",
-          "field_name": "dst_addr"
+          "instance_name": "fabric_metadata.spgw",
+          "field_name": "far_id"
         }
       ],
       "ap_bind_indirect_res_to_match": [],
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
-            "size": 9216,
+            "stage_number": 4,
+            "size": 4096,
             "stage_table_type": "hash_match",
-            "logical_table_id": 4,
+            "logical_table_id": 0,
             "has_attached_gateway": false,
             "default_next_table": 255,
             "hash_functions": [
@@ -84766,244 +100347,250 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 8,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 0,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 1
                       },
                       {
                         "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 24
                       }
                     ],
                     "hash_bit": 2,
@@ -85012,292 +100599,238 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
                       }
                     ],
-                    "hash_bit": 5,
+                    "hash_bit": 3,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 2,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 17
                       },
                       {
                         "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 3,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       }
                     ],
                     "hash_bit": 6,
@@ -85306,254 +100839,206 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 16,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 8,
+                    "hash_bit": 7,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 6,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 7,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
@@ -85564,238 +101049,250 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
                         "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 11,
+                    "hash_bit": 10,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 8,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 1
                       },
                       {
                         "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 12,
@@ -85804,106 +101301,100 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 13,
@@ -85912,112 +101403,154 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 1,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       }
                     ],
                     "hash_bit": 15,
@@ -86026,88 +101559,88 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 3,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 27
                       }
                     ],
                     "hash_bit": 16,
@@ -86116,70 +101649,76 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 4,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
                       }
                     ],
                     "hash_bit": 17,
@@ -86188,256 +101727,286 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 14,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 5,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 19,
+                    "hash_bit": 18,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 8,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 6,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 20,
@@ -86446,64 +102015,76 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 7,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 21,
@@ -86512,76 +102093,88 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 8,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
                       },
                       {
                         "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 22,
@@ -86590,88 +102183,88 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 23,
@@ -86680,316 +102273,310 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 25,
+                    "hash_bit": 24,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 4
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 26,
+                    "hash_bit": 25,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 14,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 2,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 3,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 27
                       }
                     ],
                     "hash_bit": 27,
@@ -86998,222 +102585,1084 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 6,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 28,
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      }
+                    ],
+                    "hash_bit": 33,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
+                        "hash_match_group_bit": 1
                       },
                       {
                         "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 22
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
                       },
                       {
                         "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       }
                     ],
-                    "hash_bit": 29,
+                    "hash_bit": 37,
                     "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 0,
                 "ghost_bit_to_hash_bit": [
-                  [ 0, 11, 22 ],
-                  [ 1, 12, 23 ],
-                  [ 2, 13, 24 ],
-                  [ 3, 14, 25 ],
-                  [ 4, 15, 26 ],
-                  [ 5, 16, 27 ],
-                  [ 6, 17, 28 ],
-                  [ 7, 18, 29 ],
-                  [ 8, 19, 20 ],
-                  [ 9, 10, 21 ]
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ],
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ]
                 ],
                 "ghost_bit_info": [
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 0 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 1 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 2 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 3 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 4 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 5 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 6 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 7 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 8 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 9 }
+                  { "field_name": "far_id", "bit_in_match_spec": 0 },
+                  { "field_name": "far_id", "bit_in_match_spec": 1 },
+                  { "field_name": "far_id", "bit_in_match_spec": 2 },
+                  { "field_name": "far_id", "bit_in_match_spec": 3 },
+                  { "field_name": "far_id", "bit_in_match_spec": 4 },
+                  { "field_name": "far_id", "bit_in_match_spec": 5 },
+                  { "field_name": "far_id", "bit_in_match_spec": 6 },
+                  { "field_name": "far_id", "bit_in_match_spec": 7 },
+                  { "field_name": "far_id", "bit_in_match_spec": 8 },
+                  { "field_name": "far_id", "bit_in_match_spec": 9 }
                 ]
               }
             ],
             "action_format": [
               {
-                "action_name": "nop",
-                "action_handle": 536870925,
+                "action_name": "FabricIngress.spgw.load_normal_far",
+                "action_handle": 536870929,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 37,
+                "next_table_full": 80,
                 "vliw_instruction": 0,
-                "vliw_instruction_full": 64,
+                "vliw_instruction_full": 65,
                 "next_tables": [
                   {
-                    "next_table_name": "tbl_act_5",
-                    "next_table_logical_id": 6,
-                    "next_table_stage_no": 2
+                    "next_table_name": "tbl_act_1",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 5
                   }
                 ],
                 "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_tunnel_far",
+                "action_handle": 536870930,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 80,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_1",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 5
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_dbuf_far",
+                "action_handle": 536870931,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 80,
+                "vliw_instruction": 2,
+                "vliw_instruction_full": 68,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_1",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 5
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
               }
             ],
             "result_physical_buses": [ 14 ],
@@ -87221,7 +103670,7 @@
               {
                 "memory_word_width": 128,
                 "table_word_width": 128,
-                "entries_per_table_word": 3,
+                "entries_per_table_word": 1,
                 "number_memory_units_per_table_word": 1
               }
             ],
@@ -87238,7 +103687,18 @@
                       "entry_number": 0,
                       "fields": [
                         {
-                          "field_name": "gtp_ipv4_dst",
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 2,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "field_name": "far_id",
                           "source": "spec",
                           "lsb_mem_word_offset": 50,
                           "start_bit": 10,
@@ -87250,7 +103710,7 @@
                           "field_width": 6
                         },
                         {
-                          "field_name": "gtp_ipv4_dst",
+                          "field_name": "far_id",
                           "source": "spec",
                           "lsb_mem_word_offset": 32,
                           "start_bit": 16,
@@ -87262,7 +103722,7 @@
                           "field_width": 8
                         },
                         {
-                          "field_name": "gtp_ipv4_dst",
+                          "field_name": "far_id",
                           "source": "spec",
                           "lsb_mem_word_offset": 40,
                           "start_bit": 24,
@@ -87272,6 +103732,17 @@
                           "match_mode": "unused",
                           "enable_pfe": false,
                           "field_width": 8
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
                         }
                       ]
                     }
@@ -87300,126 +103771,44 @@
             },
             "ways": [
               {
-                "stage_number": 2,
+                "stage_number": 4,
                 "way_number": 0,
                 "stage_table_type": "hash_way",
-                "size": 3072,
+                "size": 1024,
                 "pack_format": [
                   {
                     "memory_word_width": 128,
                     "table_word_width": 128,
-                    "entries_per_table_word": 3,
+                    "entries_per_table_word": 1,
                     "number_memory_units_per_table_word": 1,
                     "entries": [
                       {
-                        "entry_number": 2,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 98,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
-                        "entry_number": 1,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 74,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
                         "entry_number": 0,
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -87430,7 +103819,7 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 50,
                             "start_bit": 10,
@@ -87442,7 +103831,7 @@
                             "field_width": 6
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 32,
                             "start_bit": 16,
@@ -87454,7 +103843,7 @@
                             "field_width": 8
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 40,
                             "start_bit": 24,
@@ -87467,13 +103856,13 @@
                           },
                           {
                             "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 29,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
                             "match_mode": "unused"
                           },
                           {
@@ -87522,130 +103911,48 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0, 1, 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
                 }
               },
               {
-                "stage_number": 2,
+                "stage_number": 4,
                 "way_number": 1,
                 "stage_table_type": "hash_way",
-                "size": 3072,
+                "size": 1024,
                 "pack_format": [
                   {
                     "memory_word_width": 128,
                     "table_word_width": 128,
-                    "entries_per_table_word": 3,
+                    "entries_per_table_word": 1,
                     "number_memory_units_per_table_word": 1,
                     "entries": [
                       {
-                        "entry_number": 2,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 98,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
-                        "entry_number": 1,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 74,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
                         "entry_number": 0,
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -87656,7 +103963,7 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 50,
                             "start_bit": 10,
@@ -87668,7 +103975,7 @@
                             "field_width": 6
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 32,
                             "start_bit": 16,
@@ -87680,7 +103987,7 @@
                             "field_width": 8
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 40,
                             "start_bit": 24,
@@ -87693,13 +104000,13 @@
                           },
                           {
                             "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 29,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
                             "match_mode": "unused"
                           },
                           {
@@ -87748,130 +104055,48 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 3, 4, 5 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
                 }
               },
               {
-                "stage_number": 2,
+                "stage_number": 4,
                 "way_number": 2,
                 "stage_table_type": "hash_way",
-                "size": 3072,
+                "size": 1024,
                 "pack_format": [
                   {
                     "memory_word_width": 128,
                     "table_word_width": 128,
-                    "entries_per_table_word": 3,
+                    "entries_per_table_word": 1,
                     "number_memory_units_per_table_word": 1,
                     "entries": [
                       {
-                        "entry_number": 2,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 98,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
-                        "entry_number": 1,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 74,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
                         "entry_number": 0,
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -87882,7 +104107,7 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 50,
                             "start_bit": 10,
@@ -87894,7 +104119,7 @@
                             "field_width": 6
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 32,
                             "start_bit": 16,
@@ -87906,7 +104131,7 @@
                             "field_width": 8
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 40,
                             "start_bit": 24,
@@ -87919,13 +104144,13 @@
                           },
                           {
                             "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 29,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
                             "match_mode": "unused"
                           },
                           {
@@ -87974,7 +104199,151 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 6, 7, 8 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                }
+              },
+              {
+                "stage_number": 4,
+                "way_number": 3,
+                "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,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "far_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "far_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "far_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 29,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
                 }
               }
             ]
@@ -87985,14 +104354,320 @@
       },
       "actions": [
         {
-          "name": "nop",
-          "handle": 536870925,
-          "primitives": [],
+          "name": "FabricIngress.spgw.load_normal_far",
+          "handle": 536870929,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            }
+          ],
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "p4_parameters": [],
+          "p4_parameters": [
+            {
+              "name": "drop",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": "0x1",
+              "bit_width": 1
+            },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "default_value": "0x0",
+              "bit_width": 1
+            }
+          ],
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_tunnel_far",
+          "handle": 536870930,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_encap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "teid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_port" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "2152" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            {
+              "name": "drop",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": "0x1",
+              "bit_width": 1
+            },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "default_value": "0x0",
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_dbuf_far",
+          "handle": 536870931,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_encap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "teid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_port" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "2152" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": {
+                "type": "phv",
+                "name": "fabric_metadata.spgw.skip_egress_pdr_ctr"
+              },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "1" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            {
+              "name": "drop",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": "0x1",
+              "bit_width": 1
+            },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "default_value": "0x0",
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "bit_width": 32 }
+          ],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
           "override_meter_full_addr": 0,
@@ -88009,19 +104684,360 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777229,
-      "name": "tbl_act_8",
+      "handle": 33554436,
+      "name": "FabricIngress.spgw.fars$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 4,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 0,
+          "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,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "enable_pfe": false,
+                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
+                      "lsb_mem_word_offset": 16,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "teid"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870931
+            },
+            {
+              "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,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "drop"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "drop"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 127,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 1,
+                      "field_name": "--padding_1_127--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870929
+            },
+            {
+              "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,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "enable_pfe": false,
+                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
+                      "lsb_mem_word_offset": 16,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "teid"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870930
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 90 ], "vpns": [ 0 ] },
+              { "memory_units": [ 91 ], "vpns": [ 1 ] },
+              { "memory_units": [ 92 ], "vpns": [ 2 ] },
+              { "memory_units": [ 93 ], "vpns": [ 3 ] }
+            ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.load_dbuf_far",
+          "handle": 536870931,
+          "p4_parameters": [
+            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "bit_width": 32 }
+          ]
+        },
+        {
+          "name": "FabricIngress.spgw.load_normal_far",
+          "handle": 536870929,
+          "p4_parameters": [
+            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "bit_width": 1
+            }
+          ]
+        },
+        {
+          "name": "FabricIngress.spgw.load_tunnel_far",
+          "handle": 536870930,
+          "p4_parameters": [
+            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "bit_width": 32 }
+          ]
+        }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777225,
+      "name": "tbl_act_1",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 5,
+            "logical_table_id": 0,
             "has_attached_gateway": false,
-            "default_next_table": 38,
+            "default_next_table": 81,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -88056,9 +105072,9 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 5 ],
+            "result_physical_buses": [ 2 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0,
               "pack_format": [
@@ -88874,18 +105890,18 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_7",
-                  "action_handle": 536870926,
+                  "action_name": "act_1",
+                  "action_handle": 536870932,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 38,
+                  "next_table_full": 81,
                   "vliw_instruction": 0,
-                  "vliw_instruction_full": 68,
+                  "vliw_instruction_full": 65,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_5",
-                      "next_table_logical_id": 6,
-                      "next_table_stage_no": 2
+                      "next_table_name": "tbl_act_2",
+                      "next_table_logical_id": 1,
+                      "next_table_stage_no": 5
                     }
                   ],
                   "immediate_fields": []
@@ -88903,13 +105919,15 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_7",
-          "handle": 536870926,
+          "name": "act_1",
+          "handle": 536870932,
           "primitives": [
             {
-              "name": "DropPrimitive",
-              "dst": { "type": "phv", "name": "ig_intr_md_for_dprsr.drop_ctl" },
-              "src1": { "type": "immediate", "name": "1" }
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" }
             }
           ],
           "indirect_resources": [],
@@ -88930,7 +105948,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870926,
+      "default_action_handle": 536870932,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -88942,19 +105960,19 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777230,
-      "name": "tbl_act_5",
+      "handle": 16777226,
+      "name": "tbl_act_2",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 6,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
-            "default_next_table": 39,
+            "default_next_table": 82,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -88989,9 +106007,9 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 4 ],
+            "result_physical_buses": [ 1 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0,
               "pack_format": [
@@ -89807,18 +106825,18 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_5",
-                  "action_handle": 536870919,
+                  "action_name": "act_2",
+                  "action_handle": 536870933,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 39,
+                  "next_table_full": 82,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 69,
+                  "vliw_instruction_full": 66,
                   "next_tables": [
                     {
                       "next_table_name": "FabricIngress.filtering.fwd_classifier",
-                      "next_table_logical_id": 7,
-                      "next_table_stage_no": 2
+                      "next_table_logical_id": 2,
+                      "next_table_stage_no": 5
                     }
                   ],
                   "immediate_fields": []
@@ -89836,8 +106854,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_5",
-          "handle": 536870919,
+          "name": "act_2",
+          "handle": 536870933,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
@@ -89879,7 +106897,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870919,
+      "default_action_handle": 536870933,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -89891,21 +106909,21 @@
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_5",
-      "handle": 1879048207,
-      "name": "cond-5",
+      "attached_to": "tbl_act_2",
+      "handle": 1879048209,
+      "name": "cond-6",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 39, "true": 38 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 82, "true": 81 },
+          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
           "next_table_names": {
             "false": "FabricIngress.filtering.fwd_classifier",
-            "true": "tbl_act_5"
+            "true": "tbl_act_2"
           },
-          "logical_table_id": 6,
-          "stage_number": 2,
+          "logical_table_id": 1,
+          "stage_number": 5,
           "stage_table_type": "gateway",
           "size": 0
         }
@@ -89916,19 +106934,19 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777231,
+      "handle": 16777227,
       "name": "FabricIngress.filtering.fwd_classifier",
       "table_type": "match",
       "size": 128,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 7,
+            "logical_table_id": 2,
             "has_attached_gateway": false,
-            "default_next_table": 40,
+            "default_next_table": 83,
             "pack_format": [
               {
                 "table_word_width": 141,
@@ -90008,8 +107026,17 @@
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 32,
-                        "field_width": 16
+                        "start_bit": 16,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "ig_port",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1
                       },
                       {
                         "field_name": "eth_dst",
@@ -90017,17 +107044,8 @@
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ig_port",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 1
+                        "start_bit": 32,
+                        "field_width": 16
                       },
                       {
                         "field_name": "ig_port",
@@ -90044,17 +107062,8 @@
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ip_eth_type",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 16
                       },
                       {
                         "field_name": "eth_dst",
@@ -90062,17 +107071,8 @@
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 16
                       },
                       {
                         "field_name": "eth_type",
@@ -90080,16 +107080,16 @@
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
-                        "start_bit": 8,
+                        "start_bit": 0,
                         "field_width": 8
                       },
                       {
                         "field_name": "eth_type",
-                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "spec",
-                        "start_bit": 0,
+                        "start_bit": 8,
                         "field_width": 8
                       },
                       {
@@ -90112,25 +107112,16 @@
                       },
                       {
                         "field_name": "--unused--",
-                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "zero",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 34
                       },
                       {
                         "field_name": "--unused--",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 26
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 26,
+                        "lsb_mem_word_offset": 10,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "zero",
@@ -90152,17 +107143,17 @@
               "action_format": [
                 {
                   "action_name": "FabricIngress.filtering.set_forwarding_type",
-                  "action_handle": 536870924,
+                  "action_handle": 536870938,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 40,
+                  "next_table_full": 83,
                   "vliw_instruction": 0,
-                  "vliw_instruction_full": 70,
+                  "vliw_instruction_full": 67,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_6",
-                      "next_table_logical_id": 8,
-                      "next_table_stage_no": 2
+                      "next_table_name": "tbl_act_3",
+                      "next_table_logical_id": 3,
+                      "next_table_stage_no": 5
                     }
                   ],
                   "immediate_fields": []
@@ -90178,8 +107169,8 @@
                   "number_memory_units_per_table_word": 0
                 }
               ],
-              "logical_table_id": 7,
-              "stage_number": 2,
+              "logical_table_id": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0
             }
@@ -90190,7 +107181,7 @@
       "action_data_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 33554434,
+          "handle": 33554437,
           "name": "FabricIngress.filtering.fwd_classifier$action"
         }
       ],
@@ -90199,12 +107190,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108865,
+          "handle": 67108866,
           "name": "FabricIngress.filtering.fwd_classifier_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870924,
+      "default_action_handle": 536870938,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -90264,7 +107255,7 @@
       "actions": [
         {
           "name": "FabricIngress.filtering.set_forwarding_type",
-          "handle": 536870924,
+          "handle": 536870938,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -90283,20 +107274,6 @@
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
               "dst": { "type": "phv", "name": "fabric_metadata.next_id" },
               "dst_mask": { "type": "immediate", "name": "0" },
               "src1": { "type": "immediate", "name": "0" }
@@ -90314,6 +107291,13 @@
               "dst": { "type": "phv", "name": "compiler_generated_meta.mirror_source" },
               "dst_mask": { "type": "immediate", "name": "255" },
               "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "ig_intr_md_for_dprsr.drop_ctl" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "immediate", "name": "0" }
             }
           ],
           "indirect_resources": [],
@@ -90345,16 +107329,16 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108865,
+      "handle": 67108866,
       "name": "FabricIngress.filtering.fwd_classifier_counter",
       "table_type": "statistics",
       "size": 1024,
       "stage_tables": [
         {
-          "stage_number": 2,
+          "stage_number": 5,
           "size": 1024,
           "stage_table_type": "statistics",
-          "logical_table_id": 7,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -90380,16 +107364,16 @@
     },
     {
       "direction": "ingress",
-      "handle": 33554434,
+      "handle": 33554437,
       "name": "FabricIngress.filtering.fwd_classifier$action",
       "table_type": "action",
       "size": 16384,
       "stage_tables": [
         {
-          "stage_number": 2,
+          "stage_number": 5,
           "size": 16384,
           "stage_table_type": "action_data",
-          "logical_table_id": 7,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "memory_word_width": 128,
@@ -90798,7 +107782,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870924
+              "action_handle": 536870938
             }
           ],
           "memory_resource_allocation": {
@@ -90810,7 +107794,7 @@
       "actions": [
         {
           "name": "FabricIngress.filtering.set_forwarding_type",
-          "handle": 536870924,
+          "handle": 536870938,
           "p4_parameters": [
             {
               "name": "fwd_type",
@@ -90826,19 +107810,19 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777232,
-      "name": "tbl_act_6",
+      "handle": 16777228,
+      "name": "tbl_act_3",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 8,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
-            "default_next_table": 48,
+            "default_next_table": 96,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -90875,7 +107859,7 @@
             "memory_resource_allocation": null,
             "result_physical_buses": [ 3 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0,
               "pack_format": [
@@ -91691,18 +108675,18 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_6",
-                  "action_handle": 536870920,
+                  "action_name": "act_3",
+                  "action_handle": 536870934,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 48,
+                  "next_table_full": 96,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 71,
+                  "vliw_instruction_full": 68,
                   "next_tables": [
                     {
-                      "next_table_name": "",
+                      "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 3
+                      "next_table_stage_no": 6
                     }
                   ],
                   "immediate_fields": []
@@ -91720,8 +108704,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_6",
-          "handle": 536870920,
+          "name": "act_3",
+          "handle": 536870934,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
@@ -91749,7 +108733,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870920,
+      "default_action_handle": 536870934,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -91761,18 +108745,21 @@
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_6",
-      "handle": 1879048208,
-      "name": "cond-6",
+      "attached_to": "tbl_act_3",
+      "handle": 1879048210,
+      "name": "cond-7",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 48, "true": 40 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 96, "true": 83 },
+          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "", "true": "tbl_act_6" },
-          "logical_table_id": 8,
-          "stage_number": 2,
+          "next_table_names": {
+            "false": "FabricIngress.filtering.ingress_port_vlan",
+            "true": "tbl_act_3"
+          },
+          "logical_table_id": 3,
+          "stage_number": 5,
           "stage_table_type": "gateway",
           "size": 0
         }
@@ -91782,19311 +108769,20 @@
       "size": 0
     },
     {
-      "direction": "egress",
-      "handle": 16777261,
-      "name": "tbl_act_23",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 9,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 2 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_22",
-                  "action_handle": 536870978,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_22",
-          "handle": 536870978,
-          "primitives": [
-            {
-              "name": "DropPrimitive",
-              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870978,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_23",
-      "handle": 1879048209,
-      "name": "cond-28",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 255, "true": 41 },
-          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "END", "true": "tbl_act_23" },
-          "logical_table_id": 9,
-          "stage_number": 2,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.ipv4.ttl", "start_bit": 0, "bit_width": 8 } ],
-      "condition": "(hdr.ipv4.ttl == 0)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777262,
-      "name": "tbl_act_21",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 10,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 9 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_20",
-                  "action_handle": 536870976,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_20",
-          "handle": 536870976,
-          "primitives": [
-            {
-              "name": "DropPrimitive",
-              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870976,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_21",
-      "handle": 1879048210,
-      "name": "cond-26",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 255, "true": 42 },
-          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "END", "true": "tbl_act_21" },
-          "logical_table_id": 10,
-          "stage_number": 2,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.mpls.ttl", "start_bit": 0, "bit_width": 8 } ],
-      "condition": "(hdr.mpls.ttl == 0)",
-      "size": 0
-    },
-    {
       "direction": "ingress",
-      "attached_to": "-",
-      "handle": 1879048211,
-      "name": "cond-8",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 52, "true": 49 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "FabricIngress.filtering.ingress_port_vlan",
-            "true": "FabricIngress.spgw_ingress.uplink_pdr_lookup"
-          },
-          "logical_table_id": 0,
-          "stage_number": 3,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "spgw_ingress_hasReturned", "start_bit": 2, "bit_width": 1 } ],
-      "condition": "(!spgw_ingress_hasReturned)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777233,
-      "name": "FabricIngress.spgw_ingress.uplink_pdr_lookup",
-      "table_type": "match",
-      "size": 4096,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554435,
-          "name": "FabricIngress.spgw_ingress.uplink_pdr_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870933,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "tunnel_ipv4_dst",
-          "global_name": "fabric_metadata.spgw.tunnel_dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 0,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "tunnel_dst_addr"
-        },
-        {
-          "name": "teid",
-          "global_name": "fabric_metadata.spgw.teid",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 1,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "teid"
-        },
-        {
-          "name": "ue_addr",
-          "global_name": "hdr.ipv4.src_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 2,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "src_addr"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 3,
-            "size": 4096,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
-                  }
-                ],
-                "hash_function_number": 0,
-                "ghost_bit_to_hash_bit": [
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ],
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ]
-                ],
-                "ghost_bit_info": [
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 0 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 1 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 2 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 3 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 4 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 5 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 6 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 7 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 8 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 9 }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870933,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 4294967295,
-                "next_table_full": 52,
-                "vliw_instruction": -1,
-                "vliw_instruction_full": 64,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": []
-              },
-              {
-                "action_name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-                "action_handle": 536870932,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 52,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 65,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": [
-                  {
-                    "param_name": "ctr_id",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 32
-                  }
-                ]
-              }
-            ],
-            "result_physical_buses": [ 15, 12 ],
-            "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,
-            "stash_allocation": {
-              "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,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "immediate",
-                          "match_mode": "unused"
-                        },
-                        {
-                          "field_name": "tunnel_ipv4_dst",
-                          "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": "tunnel_ipv4_dst",
-                          "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": "tunnel_ipv4_dst",
-                          "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
-                        },
-                        {
-                          "field_name": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 56,
-                          "start_bit": 0,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 64,
-                          "start_bit": 8,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 72,
-                          "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": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 80,
-                          "start_bit": 24,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 88,
-                          "start_bit": 0,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 96,
-                          "start_bit": 8,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 104,
-                          "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": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 112,
-                          "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,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action",
-                          "match_mode": "unused"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "num_stash_entries": 2,
-              "stash_entries": [
-                [
-                  {
-                    "stash_entry_id": 30,
-                    "stash_match_data_select": 1,
-                    "stash_hashbank_select": 1,
-                    "hash_function_id": 0
-                  }
-                ],
-                [
-                  {
-                    "stash_entry_id": 31,
-                    "stash_match_data_select": 1,
-                    "stash_hashbank_select": 1,
-                    "hash_function_id": 0
-                  }
-                ]
-              ]
-            },
-            "ways": [
-              {
-                "stage_number": 3,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_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": [ 91 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_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": [ 92 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_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": [ 74 ], "vpns": [ 2 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 3,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 75 ], "vpns": [ 3 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870933,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870932,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.pdr_hit" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "ctr_id" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "far_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "FabricIngress.spgw_ingress.uplink_pdr_lookup",
-      "handle": 1879048212,
-      "name": "cond-9",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 50, "true": 49 },
-          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "tbl_act_12",
-            "true": "FabricIngress.spgw_ingress.uplink_pdr_lookup"
-          },
-          "logical_table_id": 1,
-          "stage_number": 3,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.direction",
-          "start_bit": 0,
-          "bit_width": 2
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.direction == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554435,
-      "name": "FabricIngress.spgw_ingress.uplink_pdr_lookup$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 3,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 1,
-          "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": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 112,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 16,
-                      "field_name": "far_id"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870932
-            },
-            {
-              "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870933
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870932,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "bit_width": 32
-            }
-          ]
-        },
-        { "name": "NoAction", "handle": 536870933, "p4_parameters": [] }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777234,
-      "name": "tbl_act_12",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 3,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": true,
-            "default_next_table": 52,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 3,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_12",
-                  "action_handle": 536870936,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 52,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                      "next_table_logical_id": 4,
-                      "next_table_stage_no": 3
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_12",
-          "handle": 536870936,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "spgw_ingress_hasReturned" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870936,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_12",
-      "handle": 1879048213,
-      "name": "cond-10",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 50, "true": 51 },
-          "memory_resource_allocation": { "memory_unit": 12, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "tbl_act_12",
-            "true": "FabricIngress.spgw_ingress.downlink_pdr_lookup"
-          },
-          "logical_table_id": 2,
-          "stage_number": 3,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.direction",
-          "start_bit": 0,
-          "bit_width": 2
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.direction == 2)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777235,
-      "name": "FabricIngress.spgw_ingress.downlink_pdr_lookup",
-      "table_type": "match",
-      "size": 4096,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554436,
-          "name": "FabricIngress.spgw_ingress.downlink_pdr_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870935,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "ue_addr",
-          "global_name": "hdr.ipv4.dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 0,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "dst_addr"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 3,
-            "size": 4096,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": false,
-            "default_next_table": 255,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
-                  }
-                ],
-                "hash_function_number": 1,
-                "ghost_bit_to_hash_bit": [
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ],
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ]
-                ],
-                "ghost_bit_info": [
-                  { "field_name": "ue_addr", "bit_in_match_spec": 0 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 1 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 2 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 3 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 4 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 5 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 6 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 7 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 8 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 9 }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870935,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 4294967295,
-                "next_table_full": 52,
-                "vliw_instruction": -1,
-                "vliw_instruction_full": 64,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": []
-              },
-              {
-                "action_name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-                "action_handle": 536870934,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 52,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 68,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": [
-                  {
-                    "param_name": "ctr_id",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 32
-                  }
-                ]
-              }
-            ],
-            "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,
-            "stash_allocation": {
-              "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,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "immediate",
-                          "match_mode": "unused"
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 50,
-                          "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": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 32,
-                          "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": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 40,
-                          "start_bit": 24,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "num_stash_entries": 2,
-              "stash_entries": [
-                [
-                  {
-                    "stash_entry_id": 28,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ],
-                [
-                  {
-                    "stash_entry_id": 29,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ]
-              ]
-            },
-            "ways": [
-              {
-                "stage_number": 3,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 3,
-                "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,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 3 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870935,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870934,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.pdr_hit" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "ctr_id" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "far_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554436,
-      "name": "FabricIngress.spgw_ingress.downlink_pdr_lookup$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 3,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 3,
-          "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": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 112,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 16,
-                      "field_name": "far_id"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870934
-            },
-            {
-              "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870935
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 93 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870934,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "bit_width": 32
-            }
-          ]
-        },
-        { "name": "NoAction", "handle": 536870935, "p4_parameters": [] }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777236,
+      "handle": 16777229,
       "name": "FabricIngress.filtering.ingress_port_vlan",
       "table_type": "match",
       "size": 2048,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 3,
+            "stage_number": 6,
             "size": 2048,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 4,
+            "logical_table_id": 0,
             "has_attached_gateway": false,
-            "default_next_table": 64,
+            "default_next_table": 112,
             "pack_format": [
               {
                 "table_word_width": 47,
@@ -111231,7 +108927,7 @@
             },
             "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 3,
+              "stage_number": 6,
               "stage_table_type": "ternary_indirection",
               "size": 4096,
               "pack_format": [
@@ -111392,51 +109088,51 @@
               "action_format": [
                 {
                   "action_name": "FabricIngress.filtering.deny",
-                  "action_handle": 536870921,
+                  "action_handle": 536870935,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 112,
                   "vliw_instruction": 0,
-                  "vliw_instruction_full": 67,
+                  "vliw_instruction_full": 65,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_15",
+                      "next_table_name": "",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 4
+                      "next_table_stage_no": 7
                     }
                   ],
                   "immediate_fields": []
                 },
                 {
                   "action_name": "FabricIngress.filtering.permit",
-                  "action_handle": 536870922,
+                  "action_handle": 536870936,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 112,
                   "vliw_instruction": 1,
                   "vliw_instruction_full": 64,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_15",
+                      "next_table_name": "",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 4
+                      "next_table_stage_no": 7
                     }
                   ],
                   "immediate_fields": []
                 },
                 {
                   "action_name": "FabricIngress.filtering.permit_with_internal_vlan",
-                  "action_handle": 536870923,
+                  "action_handle": 536870937,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 112,
                   "vliw_instruction": 2,
-                  "vliw_instruction_full": 69,
+                  "vliw_instruction_full": 66,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_15",
+                      "next_table_name": "",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 4
+                      "next_table_stage_no": 7
                     }
                   ],
                   "immediate_fields": [
@@ -111468,7 +109164,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108866,
+          "handle": 67108867,
           "name": "FabricIngress.filtering.ingress_port_vlan_counter"
         }
       ],
@@ -111476,7 +109172,7 @@
       "actions": [
         {
           "name": "FabricIngress.filtering.deny",
-          "handle": 536870921,
+          "handle": 536870935,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -111519,7 +109215,7 @@
         },
         {
           "name": "FabricIngress.filtering.permit",
-          "handle": 536870922,
+          "handle": 536870936,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -111548,7 +109244,7 @@
         },
         {
           "name": "FabricIngress.filtering.permit_with_internal_vlan",
-          "handle": 536870923,
+          "handle": 536870937,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -111590,7 +109286,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870921,
+      "default_action_handle": 536870935,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -111639,16 +109335,16 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108866,
+      "handle": 67108867,
       "name": "FabricIngress.filtering.ingress_port_vlan_counter",
       "table_type": "statistics",
       "size": 2048,
       "stage_tables": [
         {
-          "stage_number": 3,
+          "stage_number": 6,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 4,
+          "logical_table_id": 0,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -111677,7790 +109373,9 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777237,
-      "name": "tbl_act_15",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 4,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": true,
-            "default_next_table": 65,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 4,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_15",
-                  "action_handle": 536870942,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 65,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.spgw_ingress.flexible_pdr_lookup",
-                      "next_table_logical_id": 1,
-                      "next_table_stage_no": 4
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_15",
-          "handle": 536870942,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870942,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_15",
-      "handle": 1879048214,
-      "name": "cond-11",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 112, "true": 64 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "", "true": "tbl_act_15" },
-          "logical_table_id": 0,
-          "stage_number": 4,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "spgw_ingress_hasReturned", "start_bit": 2, "bit_width": 1 } ],
-      "condition": "(!spgw_ingress_hasReturned)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777238,
-      "name": "FabricIngress.spgw_ingress.flexible_pdr_lookup",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 4,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 80,
-            "pack_format": [
-              {
-                "table_word_width": 188,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 4,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--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": "--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": "--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": "--tcam_payload_3--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_3--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "l4_sport",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "ipv4_src",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "l4_dport",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "l4_dport",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ipv4_dst",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "tunnel_ipv4_dst",
-                        "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": "ipv4_dst",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ip_proto",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "tunnel_ipv4_dst",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "teid",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "tunnel_ipv4_dst",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "teid",
-                        "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": "teid",
-                        "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": "ipv4_src",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ipv4_src",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "ipv4_dst",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "ipv4_dst",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 4,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "spgw_direction",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 43,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 0, 1, 2, 3 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 3
-            },
-            "result_physical_buses": [ 0 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 4,
-              "stage_table_type": "ternary_indirection",
-              "size": 32768,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": {
-                "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 2
-              },
-              "action_format": [
-                {
-                  "action_name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-                  "action_handle": 536870937,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 80,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.spgw_ingress.far_lookup",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 5
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554437,
-          "name": "FabricIngress.spgw_ingress.flexible_pdr_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870937,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "ctr_id" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "far_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            {
-              "name": "ctr_id",
-              "start_bit": 0,
-              "position": 0,
-              "default_value": "0x0",
-              "bit_width": 32
-            },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "default_value": "0x0",
-              "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
-        }
-      ],
-      "default_action_handle": 536870937,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "spgw_direction",
-          "global_name": "fabric_metadata.spgw.direction",
-          "start_bit": 0,
-          "bit_width": 2,
-          "bit_width_full": 2,
-          "position": 0,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "direction"
-        },
-        {
-          "name": "tunnel_ipv4_dst",
-          "global_name": "fabric_metadata.spgw.tunnel_dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 1,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "tunnel_dst_addr"
-        },
-        {
-          "name": "teid",
-          "global_name": "fabric_metadata.spgw.teid",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 2,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "teid"
-        },
-        {
-          "name": "ipv4_src",
-          "global_name": "hdr.ipv4.src_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 3,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "src_addr"
-        },
-        {
-          "name": "ipv4_dst",
-          "global_name": "hdr.ipv4.dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 4,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "dst_addr"
-        },
-        {
-          "name": "ip_proto",
-          "global_name": "hdr.ipv4.protocol",
-          "start_bit": 0,
-          "bit_width": 8,
-          "bit_width_full": 8,
-          "position": 5,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "protocol"
-        },
-        {
-          "name": "l4_sport",
-          "global_name": "fabric_metadata.l4_sport",
-          "start_bit": 0,
-          "bit_width": 16,
-          "bit_width_full": 16,
-          "position": 6,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "l4_sport"
-        },
-        {
-          "name": "l4_dport",
-          "global_name": "fabric_metadata.l4_dport",
-          "start_bit": 0,
-          "bit_width": 16,
-          "bit_width_full": 16,
-          "position": 7,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "l4_dport"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "FabricIngress.spgw_ingress.flexible_pdr_lookup",
-      "handle": 1879048215,
-      "name": "cond-12",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 80, "true": 65 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "FabricIngress.spgw_ingress.far_lookup",
-            "true": "FabricIngress.spgw_ingress.flexible_pdr_lookup"
-          },
-          "logical_table_id": 1,
-          "stage_number": 4,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.pdr_hit",
-          "start_bit": 3,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.pdr_hit == 0)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554437,
-      "name": "FabricIngress.spgw_ingress.flexible_pdr_lookup$action",
-      "table_type": "action",
-      "size": 2048,
-      "stage_tables": [
-        {
-          "stage_number": 4,
-          "size": 2048,
-          "stage_table_type": "action_data",
-          "logical_table_id": 1,
-          "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,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "ctr_id"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 112,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "ctr_id"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "far_id"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870937
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870937,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "bit_width": 32
-            }
-          ]
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777239,
-      "name": "FabricIngress.spgw_ingress.far_lookup",
-      "table_type": "match",
-      "size": 4096,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554438,
-          "name": "FabricIngress.spgw_ingress.far_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870939,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "far_id",
-          "global_name": "fabric_metadata.spgw.far_id",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 0,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "far_id"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 5,
-            "size": 4096,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": false,
-            "default_next_table": 255,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
-                  }
-                ],
-                "hash_function_number": 0,
-                "ghost_bit_to_hash_bit": [
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ],
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ],
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ]
-                ],
-                "ghost_bit_info": [
-                  { "field_name": "far_id", "bit_in_match_spec": 14 },
-                  { "field_name": "far_id", "bit_in_match_spec": 15 },
-                  { "field_name": "far_id", "bit_in_match_spec": 16 },
-                  { "field_name": "far_id", "bit_in_match_spec": 17 },
-                  { "field_name": "far_id", "bit_in_match_spec": 18 },
-                  { "field_name": "far_id", "bit_in_match_spec": 19 },
-                  { "field_name": "far_id", "bit_in_match_spec": 20 },
-                  { "field_name": "far_id", "bit_in_match_spec": 29 },
-                  { "field_name": "far_id", "bit_in_match_spec": 30 },
-                  { "field_name": "far_id", "bit_in_match_spec": 31 }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "FabricIngress.spgw_ingress.load_normal_far_attributes",
-                "action_handle": 536870939,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 81,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 65,
-                "next_tables": [
-                  {
-                    "next_table_name": "tbl_act_13",
-                    "next_table_logical_id": 1,
-                    "next_table_stage_no": 5
-                  }
-                ],
-                "immediate_fields": []
-              },
-              {
-                "action_name": "FabricIngress.spgw_ingress.load_tunnel_far_attributes",
-                "action_handle": 536870940,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 81,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
-                "next_tables": [
-                  {
-                    "next_table_name": "tbl_act_13",
-                    "next_table_logical_id": 1,
-                    "next_table_stage_no": 5
-                  }
-                ],
-                "immediate_fields": []
-              }
-            ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "stash_allocation": {
-              "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": [
-                        {
-                          "field_name": "far_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 32,
-                          "start_bit": 21,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "far_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 50,
-                          "start_bit": 0,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 6
-                        },
-                        {
-                          "field_name": "far_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 40,
-                          "start_bit": 6,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action",
-                          "match_mode": "unused"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "num_stash_entries": 2,
-              "stash_entries": [
-                [
-                  {
-                    "stash_entry_id": 28,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ],
-                [
-                  {
-                    "stash_entry_id": 29,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ]
-              ]
-            },
-            "ways": [
-              {
-                "stage_number": 5,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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": 5,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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": 5,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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 ] } ]
-                }
-              },
-              {
-                "stage_number": 5,
-                "way_number": 3,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.load_normal_far_attributes",
-          "handle": 536870939,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_dropped" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "action_param", "name": "drop" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            {
-              "name": "drop",
-              "start_bit": 0,
-              "position": 0,
-              "default_value": "0x1",
-              "bit_width": 1
-            },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "default_value": "0x0",
-              "bit_width": 1
-            }
-          ],
-          "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
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.load_tunnel_far_attributes",
-          "handle": 536870940,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_dropped" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "action_param", "name": "drop" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": {
-                "type": "phv",
-                "name": "fabric_metadata.spgw.outer_header_creation"
-              },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "teid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": false,
-          "disallowed_as_default_action_reason": "has_const_default",
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            {
-              "name": "drop",
-              "start_bit": 0,
-              "position": 0,
-              "default_value": "0x1",
-              "bit_width": 1
-            },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "default_value": "0x0",
-              "bit_width": 1
-            },
-            {
-              "name": "tunnel_src_addr",
-              "start_bit": 2,
-              "position": 2,
-              "bit_width": 32
-            },
-            {
-              "name": "tunnel_dst_addr",
-              "start_bit": 34,
-              "position": 3,
-              "bit_width": 32
-            },
-            { "name": "teid", "start_bit": 66, "position": 4, "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554438,
-      "name": "FabricIngress.spgw_ingress.far_lookup$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 5,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 0,
-          "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,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "drop"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 127,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "--padding_1_127--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870939
-            },
-            {
-              "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,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "drop"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "teid"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "tunnel_src_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "tunnel_src_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "tunnel_dst_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "tunnel_dst_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 30,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 2,
-                      "field_name": "--padding_2_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870940
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 90 ], "vpns": [ 0 ] },
-              { "memory_units": [ 91 ], "vpns": [ 1 ] },
-              { "memory_units": [ 92 ], "vpns": [ 2 ] },
-              { "memory_units": [ 93 ], "vpns": [ 3 ] }
-            ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.load_normal_far_attributes",
-          "handle": 536870939,
-          "p4_parameters": [
-            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "bit_width": 1
-            }
-          ]
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.load_tunnel_far_attributes",
-          "handle": 536870940,
-          "p4_parameters": [
-            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "bit_width": 1
-            },
-            {
-              "name": "tunnel_src_addr",
-              "start_bit": 2,
-              "position": 2,
-              "bit_width": 32
-            },
-            {
-              "name": "tunnel_dst_addr",
-              "start_bit": 34,
-              "position": 3,
-              "bit_width": 32
-            },
-            { "name": "teid", "start_bit": 66, "position": 4, "bit_width": 32 }
-          ]
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777240,
-      "name": "tbl_act_13",
-      "table_type": "match",
-      "size": 8388608,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 5,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 0,
-                "entries_per_table_word": 0,
-                "number_memory_units_per_table_word": 0
-              }
-            ],
-            "result_physical_buses": [ 0 ],
-            "action_format": [
-              {
-                "action_name": "act_13",
-                "action_handle": 536870938,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 64,
-                "next_tables": [],
-                "immediate_fields": []
-              }
-            ]
-          }
-        ],
-        "match_type": "match_with_no_key"
-      },
-      "actions": [
-        {
-          "name": "act_13",
-          "handle": 536870938,
-          "primitives": [
-            {
-              "name": "CountFromHashPrimitive",
-              "dst": {
-                "type": "counter",
-                "name": "FabricIngress.spgw_ingress.pdr_counter"
-              },
-              "idx": {
-                "type": "hash",
-                "name": "hash_FabricIngress.spgw_ingress.pdr_counter",
-                "algorithm": "identity"
-              },
-              "hash_inputs": [
-                "compiler_generated_meta.bridged_metadata.fields_md_spgw_ctr_id"
-              ]
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": true,
-          "override_stat_addr_pfe": true,
-          "override_stat_full_addr": 524288,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870938,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "indirect",
-          "handle": 67108867,
-          "name": "FabricIngress.spgw_ingress.pdr_counter"
-        }
-      ],
-      "stateful_table_refs": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_13",
-      "handle": 1879048216,
-      "name": "tbl_act_13-gateway",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 96, "true": 96 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_14", "true": "tbl_act_14" },
-          "logical_table_id": 1,
-          "stage_number": 5,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [],
-      "condition": "true(always hit)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108867,
-      "name": "FabricIngress.spgw_ingress.pdr_counter",
-      "table_type": "statistics",
-      "size": 1024,
-      "stage_tables": [
-        {
-          "stage_number": 5,
-          "size": 1024,
-          "stage_table_type": "statistics",
-          "logical_table_id": 1,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 1,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 78 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 79
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "indirect",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 64,
-      "packet_counter_resolution": 64,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777241,
-      "name": "tbl_act_14",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 6,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": true,
-            "default_next_table": 112,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 0 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 6,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_14",
-                  "action_handle": 536870941,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 112,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 7
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_14",
-          "handle": 536870941,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870941,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_14",
-      "handle": 1879048217,
-      "name": "cond-13",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 112, "true": 96 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "", "true": "tbl_act_14" },
-          "logical_table_id": 0,
-          "stage_number": 6,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.far_dropped",
-          "start_bit": 3,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.far_dropped == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
       "attached_to": "-",
-      "handle": 1879048218,
-      "name": "cond-14",
+      "handle": 1879048211,
+      "name": "cond-8",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -119489,7 +109404,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777242,
+      "handle": 16777230,
       "name": "FabricIngress.forwarding.bridging",
       "table_type": "match",
       "size": 2048,
@@ -120449,7 +110364,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870944,
+                  "action_handle": 536870940,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 4294967295,
                   "next_table_full": 144,
@@ -120466,7 +110381,7 @@
                 },
                 {
                   "action_name": "FabricIngress.forwarding.set_next_id_bridging",
-                  "action_handle": 536870943,
+                  "action_handle": 536870939,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -120490,7 +110405,7 @@
       "action_data_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 33554439,
+          "handle": 33554438,
           "name": "FabricIngress.forwarding.bridging$action"
         }
       ],
@@ -120507,7 +110422,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870944,
+          "handle": 536870940,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -120528,7 +110443,7 @@
         },
         {
           "name": "FabricIngress.forwarding.set_next_id_bridging",
-          "handle": 536870943,
+          "handle": 536870939,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -120570,7 +110485,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870944,
+      "default_action_handle": 536870940,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -120608,8 +110523,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.forwarding.bridging",
-      "handle": 1879048219,
-      "name": "cond-15",
+      "handle": 1879048212,
+      "name": "cond-9",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -120626,8 +110541,8 @@
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 0, "bit_width": 3 } ],
-      "condition": "(fabric_metadata.fwd_type == 0)",
+      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 } ],
+      "condition": "(compiler_generated_meta.^bridged_metadata.^fields_md_fwd_type == 0)",
       "size": 0
     },
     {
@@ -120670,7 +110585,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 33554439,
+      "handle": 33554438,
       "name": "FabricIngress.forwarding.bridging$action",
       "table_type": "action",
       "size": 4096,
@@ -120748,7 +110663,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870943
+              "action_handle": 536870939
             },
             {
               "memory_word_width": 128,
@@ -120817,7 +110732,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870944
+              "action_handle": 536870940
             }
           ],
           "memory_resource_allocation": {
@@ -120829,7 +110744,7 @@
       "actions": [
         {
           "name": "FabricIngress.forwarding.set_next_id_bridging",
-          "handle": 536870943,
+          "handle": 536870939,
           "p4_parameters": [
             {
               "name": "next_id",
@@ -120839,14 +110754,14 @@
             }
           ]
         },
-        { "name": "nop", "handle": 536870944, "p4_parameters": [] }
+        { "name": "nop", "handle": 536870940, "p4_parameters": [] }
       ],
       "static_entries": [],
       "how_referenced": "direct"
     },
     {
       "direction": "ingress",
-      "handle": 16777243,
+      "handle": 16777231,
       "name": "FabricIngress.forwarding.mpls",
       "table_type": "match",
       "size": 2048,
@@ -120861,7 +110776,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870946,
+      "default_action_handle": 536870942,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -120897,181 +110812,43 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 4,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 4,
+                    "hash_bit": 0,
                     "seed": 0
                   },
                   {
@@ -121089,6 +110866,90 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121099,12 +110960,108 @@
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 19,
@@ -121119,40 +111076,16 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 17,
@@ -121161,10 +111094,10 @@
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 0,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 36
                       }
                     ],
                     "hash_bit": 6,
@@ -121173,42 +111106,12 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121221,16 +111124,58 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 1,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
                       }
                     ],
                     "hash_bit": 8,
@@ -121239,12 +111184,6 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121257,10 +111196,16 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 16,
@@ -121269,16 +111214,10 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 3,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 39
                       }
                     ],
                     "hash_bit": 9,
@@ -121287,46 +111226,10 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
+                        "field_bit": 14,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 15,
@@ -121335,140 +111238,20 @@
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 3,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 39
                       }
                     ],
-                    "hash_bit": 14,
-                    "seed": 1
+                    "hash_bit": 10,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -121479,31 +111262,37 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 15,
+                    "hash_bit": 11,
                     "seed": 0
                   },
                   {
@@ -121521,10 +111310,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 15,
@@ -121533,13 +111322,31 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 16,
+                    "hash_bit": 12,
                     "seed": 1
                   },
                   {
@@ -121557,10 +111364,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 13,
@@ -121575,14 +111382,14 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 17,
-                    "seed": 1
+                    "hash_bit": 13,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -121593,90 +111400,18 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121713,7 +111448,43 @@
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 20,
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 15,
                     "seed": 1
                   },
                   {
@@ -121725,30 +111496,6 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121761,34 +111508,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 14,
@@ -121797,6 +111520,12 @@
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121815,46 +111544,70 @@
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 23,
-                    "seed": 1
+                    "hash_bit": 16,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
                       }
                     ],
-                    "hash_bit": 24,
+                    "hash_bit": 17,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 13,
@@ -121863,12 +111616,312 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
                       },
                       {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 39
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121881,222 +111934,24 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 8,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122115,13 +111970,25 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 31,
+                    "hash_bit": 26,
                     "seed": 0
                   },
                   {
@@ -122133,6 +112000,12 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122149,20 +112022,20 @@
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 32,
+                    "hash_bit": 27,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122175,48 +112048,6 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122229,52 +112060,34 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
                       }
                     ],
-                    "hash_bit": 34,
+                    "hash_bit": 28,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 12,
@@ -122295,12 +112108,228 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 39
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122314,21 +112343,33 @@
                       }
                     ],
                     "hash_bit": 35,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 7,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 18,
@@ -122338,15 +112379,15 @@
                       }
                     ],
                     "hash_bit": 36,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
+                        "field_bit": 8,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 10,
@@ -122355,6 +112396,36 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122373,52 +112444,10 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
+                        "field_bit": 9,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 12,
@@ -122433,10 +112462,76 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
                       }
                     ],
                     "hash_bit": 39,
@@ -122445,16 +112540,16 @@
                 ],
                 "hash_function_number": 0,
                 "ghost_bit_to_hash_bit": [
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ],
                   [ 0, 11, 22, 33 ],
                   [ 1, 12, 23, 34 ],
                   [ 2, 13, 24, 35 ],
                   [ 3, 14, 25, 36 ],
                   [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ]
+                  [ 5, 16, 27, 38 ]
                 ],
                 "ghost_bit_info": [
                   { "field_name": "mpls_label", "bit_in_match_spec": 0 },
@@ -122473,7 +112568,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870946,
+                "action_handle": 536870942,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 144,
@@ -122490,7 +112585,7 @@
               },
               {
                 "action_name": "FabricIngress.forwarding.pop_mpls_and_next",
-                "action_handle": 536870945,
+                "action_handle": 536870941,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 144,
@@ -123100,7 +113195,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870946,
+          "handle": 536870942,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -123120,7 +113215,7 @@
         },
         {
           "name": "FabricIngress.forwarding.pop_mpls_and_next",
-          "handle": 536870945,
+          "handle": 536870941,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -123174,8 +113269,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.forwarding.mpls",
-      "handle": 1879048220,
-      "name": "cond-16",
+      "handle": 1879048213,
+      "name": "cond-10",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -123192,8 +113287,8 @@
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 0, "bit_width": 3 } ],
-      "condition": "(fabric_metadata.fwd_type == 1)",
+      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 } ],
+      "condition": "(compiler_generated_meta.^bridged_metadata.^fields_md_fwd_type == 1)",
       "size": 0
     },
     {
@@ -123238,7 +113333,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777244,
+      "handle": 16777232,
       "name": "FabricIngress.forwarding.routing_v4",
       "table_type": "match",
       "size": 30000,
@@ -123246,7 +113341,7 @@
         "match_type": "algorithmic_lpm",
         "pre_classifier": {
           "direction": "ingress",
-          "handle": 16777263,
+          "handle": 16777250,
           "name": "FabricIngress.forwarding.routing_v4_pre_classifier",
           "table_type": "match",
           "size": 30000,
@@ -124161,12 +114256,12 @@
                   "action_format": [
                     {
                       "action_name": "forwarding_routing_v4__alpm_preclassifier__set_partition_index",
-                      "action_handle": 536870947,
+                      "action_handle": 536870943,
                       "table_name": "--END_OF_PIPELINE--",
                       "next_table": 0,
                       "next_table_full": 128,
                       "vliw_instruction": 1,
-                      "vliw_instruction_full": 67,
+                      "vliw_instruction_full": 68,
                       "next_tables": [
                         {
                           "next_table_name": "FabricIngress.forwarding.routing_v4",
@@ -124185,7 +114280,7 @@
           "action_data_table_refs": [
             {
               "how_referenced": "direct",
-              "handle": 33554440,
+              "handle": 33554439,
               "name": "FabricIngress.forwarding.routing_v4_preclassifier$action"
             }
           ],
@@ -124196,7 +114291,7 @@
           "actions": [
             {
               "name": "forwarding_routing_v4__alpm_preclassifier__set_partition_index",
-              "handle": 536870947,
+              "handle": 536870943,
               "primitives": [
                 {
                   "name": "ModifyFieldPrimitive",
@@ -124234,7 +114329,7 @@
               "is_action_meter_color_aware": false
             }
           ],
-          "default_action_handle": 536870947,
+          "default_action_handle": 536870943,
           "action_profile": "",
           "default_next_table_mask": 0,
           "default_next_table_default": 0,
@@ -124261,15 +114356,15 @@
         "partition_field_name": "partition_index",
         "lpm_field_name": "ipv4_dst",
         "bins_per_partition": 30,
-        "set_partition_action_handle": 536870947,
+        "set_partition_action_handle": 536870943,
         "stage_tables": [],
         "atcam_table": {
           "direction": "ingress",
-          "handle": 16777264,
+          "handle": 16777251,
           "name": "FabricIngress.forwarding.routing_v4",
           "table_type": "match",
           "size": 30000,
-          "default_action_handle": 536870950,
+          "default_action_handle": 536870946,
           "action_profile": "",
           "default_next_table_mask": 0,
           "default_next_table_default": 0,
@@ -124295,11 +114390,11 @@
             "units": [
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt0",
                 "size": 5120,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -124332,7 +114427,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -124349,7 +114444,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124374,7 +114469,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124565,7 +114660,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124585,7 +114680,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124612,7 +114707,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124640,11 +114735,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt1",
                 "size": 5120,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -124677,7 +114772,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -124694,7 +114789,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124719,7 +114814,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124910,7 +115005,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124930,7 +115025,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124957,7 +115052,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124985,11 +115080,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt2",
                 "size": 5120,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -125022,7 +115117,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -125039,7 +115134,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125064,7 +115159,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125255,7 +115350,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125275,7 +115370,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125302,7 +115397,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125330,11 +115425,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt3",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -125367,7 +115462,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -125384,7 +115479,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125409,7 +115504,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125596,7 +115691,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125616,7 +115711,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125643,7 +115738,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125671,11 +115766,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt4",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -125708,7 +115803,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -125725,7 +115820,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125750,7 +115845,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125937,7 +116032,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125957,7 +116052,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125984,7 +116079,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126012,11 +116107,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt5",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -126049,7 +116144,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -126066,7 +116161,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126091,7 +116186,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126278,7 +116373,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126298,7 +116393,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126325,7 +116420,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126353,11 +116448,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt6",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -126390,7 +116485,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -126407,7 +116502,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126432,7 +116527,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126619,7 +116714,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126639,7 +116734,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126666,7 +116761,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126700,7 +116795,7 @@
           "actions": [
             {
               "name": "nop",
-              "handle": 536870950,
+              "handle": 536870946,
               "primitives": [],
               "indirect_resources": [],
               "allowed_as_default_action": true,
@@ -126720,7 +116815,7 @@
             },
             {
               "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-              "handle": 536870948,
+              "handle": 536870944,
               "primitives": [],
               "indirect_resources": [],
               "allowed_as_default_action": true,
@@ -126747,7 +116842,7 @@
             },
             {
               "name": "FabricIngress.forwarding.nop_routing_v4",
-              "handle": 536870949,
+              "handle": 536870945,
               "primitives": [],
               "indirect_resources": [],
               "allowed_as_default_action": true,
@@ -126773,7 +116868,7 @@
           "stateful_table_refs": []
         }
       },
-      "default_action_handle": 536870950,
+      "default_action_handle": 536870946,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -126797,7 +116892,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870950,
+          "handle": 536870946,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -126817,7 +116912,7 @@
         },
         {
           "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-          "handle": 536870948,
+          "handle": 536870944,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
@@ -126894,7 +116989,7 @@
         },
         {
           "name": "FabricIngress.forwarding.nop_routing_v4",
-          "handle": 536870949,
+          "handle": 536870945,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -126922,8 +117017,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.forwarding.routing_v4",
-      "handle": 1879048221,
-      "name": "cond-17",
+      "handle": 1879048214,
+      "name": "cond-11",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -126940,13 +117035,13 @@
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 0, "bit_width": 3 } ],
-      "condition": "(fabric_metadata.fwd_type == 2)",
+      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 } ],
+      "condition": "(compiler_generated_meta.^bridged_metadata.^fields_md_fwd_type == 2)",
       "size": 0
     },
     {
       "direction": "ingress",
-      "handle": 33554440,
+      "handle": 33554439,
       "name": "FabricIngress.forwarding.routing_v4_preclassifier$action",
       "table_type": "action",
       "size": 4096,
@@ -127104,7 +117199,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870947
+              "action_handle": 536870943
             }
           ],
           "memory_resource_allocation": {
@@ -127116,7 +117211,7 @@
       "actions": [
         {
           "name": "forwarding_routing_v4__alpm_preclassifier__set_partition_index",
-          "handle": 536870947,
+          "handle": 536870943,
           "p4_parameters": [
             {
               "name": "partition_index",
@@ -127132,7 +117227,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777245,
+      "handle": 16777233,
       "name": "FabricIngress.acl.acl",
       "table_type": "match",
       "size": 2048,
@@ -127273,30 +117368,48 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "ipv4_src",
+                        "field_name": "ip_proto",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 5,
                         "msb_mem_word_idx": 5,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 32
-                      },
-                      {
-                        "field_name": "ig_port",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 5,
-                        "msb_mem_word_idx": 5,
-                        "source": "spec",
-                        "start_bit": 0,
                         "field_width": 8
                       },
                       {
                         "field_name": "ipv4_dst",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 16
+                      },
+                      {
+                        "field_name": "icmp_type",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_dst",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "icmp_code",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
                         "source": "spec",
-                        "start_bit": 16,
+                        "start_bit": 0,
                         "field_width": 8
                       },
                       {
@@ -127309,7 +117422,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "eth_dst",
+                        "field_name": "eth_src",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
@@ -127318,179 +117431,71 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4_dst",
+                        "field_name": "eth_dst",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
+                        "start_bit": 24,
+                        "field_width": 16
                       },
                       {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 4,
-                        "msb_mem_word_idx": 4,
-                        "source": "spec",
-                        "start_bit": 32,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
+                        "field_name": "ipv4_src",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_src",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_src",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_type",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
                         "start_bit": 24,
                         "field_width": 8
                       },
                       {
-                        "field_name": "eth_src",
+                        "field_name": "ipv4_src",
                         "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 32,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "eth_src",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "eth_type",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "icmp_type",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "icmp_code",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 24
                       },
                       {
                         "field_name": "l4_sport",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
                         "source": "spec",
                         "start_bit": 8,
                         "field_width": 8
                       },
                       {
-                        "field_name": "l4_sport",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
+                        "field_name": "eth_src",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
+                        "start_bit": 24,
+                        "field_width": 24
                       },
                       {
                         "field_name": "l4_dport",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
                         "source": "spec",
                         "start_bit": 0,
                         "field_width": 16
                       },
                       {
-                        "field_name": "ip_proto",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "vlan_id",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "vlan_id",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
+                        "field_name": "l4_sport",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
                         "source": "spec",
                         "start_bit": 0,
                         "field_width": 8
                       },
                       {
                         "field_name": "ig_port",
-                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
@@ -127498,12 +117503,75 @@
                         "field_width": 1
                       },
                       {
+                        "field_name": "ig_port",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_dst",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_dst",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_src",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16
+                      },
+                      {
+                        "field_name": "eth_type",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16
+                      },
+                      {
+                        "field_name": "vlan_id",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "vlan_id",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 4
+                      },
+                      {
                         "field_name": "ipv4_dst",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 5,
                         "msb_mem_word_idx": 5,
                         "source": "spec",
-                        "start_bit": 0,
+                        "start_bit": 24,
                         "field_width": 4
                       },
                       {
@@ -127512,7 +117580,7 @@
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
                         "source": "spec",
-                        "start_bit": 4,
+                        "start_bit": 28,
                         "field_width": 4
                       },
                       {
@@ -127521,7 +117589,7 @@
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
                         "source": "spec",
-                        "start_bit": 24,
+                        "start_bit": 0,
                         "field_width": 4
                       },
                       {
@@ -127530,16 +117598,7 @@
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 28,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 29,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
+                        "start_bit": 4,
                         "field_width": 4
                       },
                       {
@@ -127553,12 +117612,12 @@
                       },
                       {
                         "field_name": "--unused--",
-                        "lsb_mem_word_offset": 42,
+                        "lsb_mem_word_offset": 10,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "zero",
                         "start_bit": 0,
-                        "field_width": 3
+                        "field_width": 7
                       }
                     ]
                   }
@@ -127668,7 +117727,7 @@
               "action_format": [
                 {
                   "action_name": "FabricIngress.acl.set_next_id_acl",
-                  "action_handle": 536870951,
+                  "action_handle": 536870947,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127693,7 +117752,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.punt_to_cpu",
-                  "action_handle": 536870952,
+                  "action_handle": 536870948,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127719,7 +117778,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.set_clone_session_id",
-                  "action_handle": 536870953,
+                  "action_handle": 536870949,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127744,7 +117803,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.drop",
-                  "action_handle": 536870954,
+                  "action_handle": 536870950,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127761,7 +117820,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.nop_acl",
-                  "action_handle": 536870955,
+                  "action_handle": 536870951,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127796,7 +117855,7 @@
       "actions": [
         {
           "name": "FabricIngress.acl.set_next_id_acl",
-          "handle": 536870951,
+          "handle": 536870947,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127843,7 +117902,7 @@
         },
         {
           "name": "FabricIngress.acl.punt_to_cpu",
-          "handle": 536870952,
+          "handle": 536870948,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127890,7 +117949,7 @@
         },
         {
           "name": "FabricIngress.acl.set_clone_session_id",
-          "handle": 536870953,
+          "handle": 536870949,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127950,7 +118009,7 @@
         },
         {
           "name": "FabricIngress.acl.drop",
-          "handle": 536870954,
+          "handle": 536870950,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127995,7 +118054,7 @@
         },
         {
           "name": "FabricIngress.acl.nop_acl",
-          "handle": 536870955,
+          "handle": 536870951,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -128027,7 +118086,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870955,
+      "default_action_handle": 536870951,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -128222,7 +118281,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777246,
+      "handle": 16777234,
       "name": "FabricIngress.next.xconnect",
       "table_type": "match",
       "size": 4096,
@@ -128237,7 +118296,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870958,
+      "default_action_handle": 536870954,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -128291,16 +118350,106 @@
                         "hash_match_group_bit": 0
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 4,
@@ -128327,120 +118476,12 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128459,6 +118500,30 @@
                         "hash_match_group_bit": 16
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128471,22 +118536,22 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 0,
@@ -128507,6 +118572,108 @@
                         "hash_match_group_bit": 1
                       },
                       {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 33
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
                         "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128531,114 +118698,6 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128657,28 +118716,58 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       },
                       {
                         "field_bit": 2,
@@ -128688,15 +118777,27 @@
                       }
                     ],
                     "hash_bit": 3,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
+                        "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 1
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 9,
@@ -128705,6 +118806,12 @@
                         "hash_match_group_bit": 9
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128735,6 +118842,18 @@
                         "hash_match_group_bit": 17
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128747,16 +118866,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -128771,6 +118884,18 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -128783,12 +118908,24 @@
                   {
                     "bits_to_xor": [
                       {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128807,40 +118944,34 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 21,
@@ -128861,114 +118992,6 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128987,6 +119010,114 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -129005,40 +119136,52 @@
                         "hash_match_group_bit": 1
                       },
                       {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
                         "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 6
                       },
                       {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -129047,18 +119190,24 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129071,22 +119220,16 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 30,
@@ -129107,10 +119250,16 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 1,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 5,
@@ -129119,10 +119268,16 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 15,
@@ -129143,6 +119298,12 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129155,6 +119316,102 @@
                         "hash_match_group_bit": 24
                       },
                       {
+                        "field_bit": 7,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 39
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129173,82 +119430,16 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 30
                       },
                       {
-                        "field_bit": 7,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       },
                       {
                         "field_bit": 8,
@@ -129258,15 +119449,27 @@
                       }
                     ],
                     "hash_bit": 9,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
+                        "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 1
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
                       },
                       {
                         "field_bit": 6,
@@ -129275,28 +119478,22 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
+                        "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 18,
@@ -129305,6 +119502,18 @@
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129317,12 +119526,6 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129335,6 +119538,12 @@
                         "hash_match_group_bit": 30
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -129365,102 +119574,6 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129473,132 +119586,12 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129629,6 +119622,228 @@
                         "hash_match_group_bit": 20
                       },
                       {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 32
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129654,93 +119869,21 @@
                       }
                     ],
                     "hash_bit": 13,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
                         "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 8,
@@ -129755,10 +119898,40 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -129785,22 +119958,106 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 34
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 29,
@@ -129833,114 +120090,6 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129965,18 +120114,6 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129995,12 +120132,6 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130013,10 +120144,130 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 30,
@@ -130032,7 +120283,109 @@
                       }
                     ],
                     "hash_bit": 17,
-                    "seed": 1
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -130061,12 +120414,6 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130079,76 +120426,10 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 16,
@@ -130157,16 +120438,34 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 28,
@@ -130188,39 +120487,21 @@
                       }
                     ],
                     "hash_bit": 19,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 8,
@@ -130229,22 +120510,22 @@
                         "hash_match_group_bit": 8
                       },
                       {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 15,
@@ -130253,22 +120534,28 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 23,
@@ -130283,12 +120570,24 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 7,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -130301,24 +120600,6 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130337,28 +120618,196 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 40
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -130379,10 +120828,10 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 23,
@@ -130391,16 +120840,10 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -130409,132 +120852,18 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 8,
+                        "field_bit": 0,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 40
+                        "hash_match_group_bit": 32
                       }
                     ],
-                    "hash_bit": 21,
+                    "hash_bit": 23,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 1,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130553,22 +120882,10 @@
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 10,
@@ -130577,12 +120894,6 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130595,28 +120906,10 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 26,
@@ -130625,10 +120918,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 29,
@@ -130643,102 +120936,6 @@
                         "hash_match_group_bit": 31
                       },
                       {
-                        "field_bit": 0,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
                         "field_bit": 1,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -130757,28 +120954,16 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 11,
@@ -130787,10 +120972,22 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 24,
@@ -130799,10 +120996,28 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 2,
@@ -130812,7 +121027,7 @@
                       }
                     ],
                     "hash_bit": 25,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -130823,28 +121038,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
                         "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 7,
@@ -130859,16 +121062,46 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 26,
@@ -130877,6 +121110,24 @@
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -130895,10 +121146,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 5,
@@ -130907,130 +121164,16 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
                         "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 13,
@@ -131045,22 +121188,34 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 22,
@@ -131069,6 +121224,30 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131081,6 +121260,114 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -131093,96 +121380,12 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 1,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131195,24 +121398,12 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
                         "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131225,6 +121416,12 @@
                         "hash_match_group_bit": 13
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131237,16 +121434,10 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 21,
@@ -131255,22 +121446,142 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       },
                       {
                         "field_bit": 30,
@@ -131292,7 +121603,7 @@
                       }
                     ],
                     "hash_bit": 30,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -131303,12 +121614,6 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
                         "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131333,52 +121638,16 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 22,
@@ -131387,10 +121656,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 26,
@@ -131399,16 +121668,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       },
                       {
                         "field_bit": 7,
@@ -131441,12 +121704,6 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
                         "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131459,34 +121716,40 @@
                         "hash_match_group_bit": 10
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 20,
@@ -131507,18 +121770,24 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131543,6 +121812,18 @@
                         "hash_match_group_bit": 0
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131555,16 +121836,16 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 8
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 11,
@@ -131579,300 +121860,6 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131909,10 +121896,16 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 29,
@@ -131921,14 +121914,14 @@
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "ig_port",
+                        "field_bit": 30,
+                        "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 34
+                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 36,
-                    "seed": 1
+                    "hash_bit": 33,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -131939,10 +121932,10 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 2,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 5,
@@ -131969,22 +121962,16 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 17,
@@ -131993,82 +121980,16 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -132077,10 +121998,10 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 24,
@@ -132107,19 +122028,235 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 0,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 32
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 36
+                        "hash_match_group_bit": 33
                       }
                     ],
-                    "hash_bit": 38,
+                    "hash_bit": 35,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 34
+                      }
+                    ],
+                    "hash_bit": 36,
                     "seed": 0
                   },
                   {
@@ -132137,6 +122274,114 @@
                         "hash_match_group_bit": 3
                       },
                       {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 35
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
                         "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -132155,10 +122400,10 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 8
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 9,
@@ -132167,40 +122412,52 @@
                         "hash_match_group_bit": 9
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 25,
@@ -132221,6 +122478,102 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -132234,7 +122587,7 @@
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 0
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 0,
@@ -132267,7 +122620,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870958,
+                "action_handle": 536870954,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 176,
@@ -132284,7 +122637,7 @@
               },
               {
                 "action_name": "FabricIngress.next.output_xconnect",
-                "action_handle": 536870956,
+                "action_handle": 536870952,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -132309,7 +122662,7 @@
               },
               {
                 "action_name": "FabricIngress.next.set_next_id_xconnect",
-                "action_handle": 536870957,
+                "action_handle": 536870953,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -133083,7 +123436,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870958,
+          "handle": 536870954,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -133103,7 +123456,7 @@
         },
         {
           "name": "FabricIngress.next.output_xconnect",
-          "handle": 536870956,
+          "handle": 536870952,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -133146,7 +123499,7 @@
         },
         {
           "name": "FabricIngress.next.set_next_id_xconnect",
-          "handle": 536870957,
+          "handle": 536870953,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -133193,8 +123546,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.next.xconnect",
-      "handle": 1879048222,
-      "name": "cond-18",
+      "handle": 1879048215,
+      "name": "cond-12",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -133209,7 +123562,7 @@
         }
       ],
       "condition_fields": [
-        { "name": "fabric_metadata.skip_next", "start_bit": 2, "bit_width": 1 }
+        { "name": "fabric_metadata.skip_next", "start_bit": 1, "bit_width": 1 }
       ],
       "condition": "(fabric_metadata.skip_next == 0)",
       "size": 0
@@ -133256,7 +123609,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777247,
+      "handle": 16777235,
       "name": "FabricIngress.next.next_vlan",
       "table_type": "match",
       "size": 2048,
@@ -133271,7 +123624,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870966,
+      "default_action_handle": 536870962,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -133313,270 +123666,6 @@
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133601,16 +123690,172 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 21,
@@ -133643,10 +123888,148 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 29,
@@ -133673,118 +124056,22 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 17
                       },
                       {
                         "field_bit": 20,
@@ -133805,12 +124092,6 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133823,12 +124104,90 @@
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133853,12 +124212,222 @@
                         "hash_match_group_bit": 7
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133877,12 +124446,6 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133895,72 +124458,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133985,96 +124482,6 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134085,72 +124492,6 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 31,
@@ -134171,12 +124512,6 @@
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134189,78 +124524,6 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134273,10 +124536,16 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 22,
@@ -134285,16 +124554,34 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       },
                       {
                         "field_bit": 30,
@@ -134303,6 +124590,96 @@
                         "hash_match_group_bit": 30
                       }
                     ],
+                    "hash_bit": 11,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
                     "hash_bit": 12,
                     "seed": 0
                   },
@@ -134315,58 +124692,10 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 12,
@@ -134375,16 +124704,10 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -134399,72 +124722,6 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134477,6 +124734,12 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134495,22 +124758,82 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 15,
+                    "hash_bit": 13,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 10,
@@ -134549,28 +124872,106 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 30,
@@ -134591,52 +124992,46 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 30,
@@ -134646,7 +125041,7 @@
                       }
                     ],
                     "hash_bit": 17,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -134669,22 +125064,16 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 20,
@@ -134693,28 +125082,22 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 29
                       }
                     ],
                     "hash_bit": 18,
@@ -134741,12 +125124,6 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134771,12 +125148,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134789,32 +125160,32 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 19,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -134831,22 +125202,22 @@
                         "hash_match_group_bit": 10
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 21,
@@ -134855,34 +125226,28 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 20,
@@ -134903,28 +125268,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 17,
@@ -134939,46 +125286,34 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 21,
@@ -134993,10 +125328,10 @@
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 12,
@@ -135011,10 +125346,10 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 17,
@@ -135035,12 +125370,6 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135053,10 +125382,22 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 22,
@@ -135071,6 +125412,12 @@
                         "hash_match_group_bit": 1
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135089,34 +125436,16 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 26,
@@ -135125,12 +125454,6 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135144,7 +125467,7 @@
                       }
                     ],
                     "hash_bit": 23,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -135161,10 +125484,58 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 13,
@@ -135173,24 +125544,6 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135209,66 +125562,6 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135287,24 +125580,24 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135312,7 +125605,7 @@
                       }
                     ],
                     "hash_bit": 25,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -135323,10 +125616,10 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 12,
@@ -135341,16 +125634,22 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 23,
@@ -135359,16 +125658,10 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 28,
@@ -135377,14 +125670,14 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 26,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -135419,22 +125712,16 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 25,
@@ -135443,28 +125730,16 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 29
                       },
                       {
                         "field_bit": 31,
@@ -135485,40 +125760,28 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 24,
@@ -135527,22 +125790,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 29,
@@ -135551,6 +125802,12 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135558,7 +125815,7 @@
                       }
                     ],
                     "hash_bit": 28,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -135569,22 +125826,22 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -135605,24 +125862,42 @@
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135641,10 +125916,10 @@
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 29,
@@ -135659,22 +125934,10 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 18,
@@ -135683,34 +125946,22 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 30,
@@ -135731,46 +125982,58 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 31,
@@ -135791,12 +126054,36 @@
                         "hash_match_group_bit": 9
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135815,6 +126102,234 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135827,154 +126342,10 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 27,
@@ -135983,28 +126354,22 @@
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 34,
+                    "hash_bit": 35,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 11,
@@ -136019,22 +126384,16 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 19,
@@ -136043,18 +126402,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136073,34 +126420,64 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 35,
+                    "hash_bit": 36,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
                       },
                       {
                         "field_bit": 10,
@@ -136109,6 +126486,12 @@
                         "hash_match_group_bit": 10
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136127,96 +126510,6 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136235,10 +126528,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 25,
@@ -136247,108 +126540,12 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136367,16 +126564,10 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 13,
@@ -136385,6 +126576,24 @@
                         "hash_match_group_bit": 13
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136397,10 +126606,10 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 24,
@@ -136409,26 +126618,26 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 0
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 0,
@@ -136461,7 +126670,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870966,
+                "action_handle": 536870962,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 177,
@@ -136478,7 +126687,7 @@
               },
               {
                 "action_name": "FabricIngress.next.set_vlan",
-                "action_handle": 536870965,
+                "action_handle": 536870961,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 177,
@@ -137144,7 +127353,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870966,
+          "handle": 536870962,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -137164,7 +127373,7 @@
         },
         {
           "name": "FabricIngress.next.set_vlan",
-          "handle": 536870965,
+          "handle": 536870961,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -137250,7 +127459,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777248,
+      "handle": 16777236,
       "name": "FabricIngress.next.multicast",
       "table_type": "match",
       "size": 2048,
@@ -137265,7 +127474,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870964,
+      "default_action_handle": 536870960,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -137307,16 +127516,16 @@
                         "hash_match_group_bit": 64
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 74
+                        "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 78
                       },
                       {
                         "field_bit": 15,
@@ -137325,40 +127534,34 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 82
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
+                        "hash_match_group_bit": 87
                       },
                       {
                         "field_bit": 25,
@@ -137367,22 +127570,16 @@
                         "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 93
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 0,
@@ -137403,18 +127600,6 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137433,12 +127618,6 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137451,10 +127630,10 @@
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 21,
@@ -137469,16 +127648,10 @@
                         "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 1,
@@ -137493,84 +127666,6 @@
                         "hash_match_group_bit": 66
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137595,10 +127690,10 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 18,
@@ -137613,16 +127708,28 @@
                         "hash_match_group_bit": 83
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
+                        "hash_match_group_bit": 84
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 87
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
                       },
                       {
                         "field_bit": 28,
@@ -137631,6 +127738,60 @@
                         "hash_match_group_bit": 92
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137667,10 +127828,16 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 79
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 18,
@@ -137679,28 +127846,10 @@
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 89
                       },
                       {
                         "field_bit": 27,
@@ -137709,22 +127858,10 @@
                         "hash_match_group_bit": 91
                       },
                       {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 4,
@@ -137739,10 +127876,16 @@
                         "hash_match_group_bit": 69
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 76
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
                       },
                       {
                         "field_bit": 16,
@@ -137763,88 +127906,10 @@
                         "hash_match_group_bit": 83
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 27,
@@ -137859,22 +127924,16 @@
                         "hash_match_group_bit": 94
                       }
                     ],
-                    "hash_bit": 6,
+                    "hash_bit": 5,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 70
                       },
                       {
                         "field_bit": 13,
@@ -137889,46 +127948,28 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 86
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 87
+                        "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 89
                       },
                       {
                         "field_bit": 29,
@@ -137937,10 +127978,70 @@
                         "hash_match_group_bit": 93
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 94
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
                       }
                     ],
                     "hash_bit": 7,
@@ -137955,12 +128056,6 @@
                         "hash_match_group_bit": 72
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137973,202 +128068,28 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 79
+                        "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 82
                       },
                       {
                         "field_bit": 20,
@@ -138177,18 +128098,6 @@
                         "hash_match_group_bit": 84
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138201,26 +128110,200 @@
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
                       },
                       {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
-                      },
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
                       {
-                        "field_bit": 31,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 73
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 73
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
                       }
                     ],
                     "hash_bit": 10,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -138237,22 +128320,22 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 78
+                        "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 83
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
+                        "hash_match_group_bit": 85
                       },
                       {
                         "field_bit": 23,
@@ -138273,12 +128356,6 @@
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138309,58 +128386,16 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 91
                       },
                       {
                         "field_bit": 28,
@@ -138369,14 +128404,14 @@
                         "hash_match_group_bit": 92
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 93
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 12,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -138387,22 +128422,22 @@
                         "hash_match_group_bit": 66
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 81
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 18,
@@ -138411,42 +128446,12 @@
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 86
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138457,10 +128462,16 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 13,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -138489,58 +128500,16 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 85
+                        "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 79
                       },
                       {
                         "field_bit": 17,
@@ -138549,18 +128518,18 @@
                         "hash_match_group_bit": 81
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 84
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138579,12 +128548,6 @@
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138595,12 +128558,78 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      },
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
                       {
-                        "field_bit": 31,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 15,
@@ -138639,34 +128668,100 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 80
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 82
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 88
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
                       },
                       {
                         "field_bit": 25,
@@ -138687,102 +128782,6 @@
                         "hash_match_group_bit": 91
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138807,28 +128806,16 @@
                         "hash_match_group_bit": 71
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 74
+                        "hash_match_group_bit": 75
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
+                        "hash_match_group_bit": 82
                       },
                       {
                         "field_bit": 22,
@@ -138843,28 +128830,22 @@
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 91
+                        "hash_match_group_bit": 92
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 18,
@@ -138885,118 +128866,16 @@
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 24,
@@ -139015,24 +128894,24 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
-                    "hash_bit": 20,
-                    "seed": 1
+                    "hash_bit": 19,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
+                        "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 73
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
                       },
                       {
                         "field_bit": 11,
@@ -139041,6 +128920,18 @@
                         "hash_match_group_bit": 75
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139053,16 +128944,10 @@
                         "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 22,
@@ -139083,12 +128968,6 @@
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139107,16 +128986,16 @@
                         "hash_match_group_bit": 94
                       }
                     ],
-                    "hash_bit": 21,
-                    "seed": 1
+                    "hash_bit": 20,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 64
+                        "hash_match_group_bit": 73
                       },
                       {
                         "field_bit": 10,
@@ -139125,40 +129004,16 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 20,
@@ -139173,6 +129028,12 @@
                         "hash_match_group_bit": 85
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139185,10 +129046,106 @@
                         "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
                       }
                     ],
                     "hash_bit": 22,
@@ -139209,60 +129166,6 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139275,6 +129178,12 @@
                         "hash_match_group_bit": 76
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139287,6 +129196,18 @@
                         "hash_match_group_bit": 80
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139309,10 +129230,100 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 24,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -139329,10 +129340,16 @@
                         "hash_match_group_bit": 75
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
                       },
                       {
                         "field_bit": 16,
@@ -139341,10 +129358,22 @@
                         "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 84
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
                       },
                       {
                         "field_bit": 23,
@@ -139353,16 +129382,16 @@
                         "hash_match_group_bit": 87
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 88
+                        "hash_match_group_bit": 91
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 93
                       },
                       {
                         "field_bit": 31,
@@ -139383,16 +129412,22 @@
                         "hash_match_group_bit": 68
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 20,
@@ -139407,16 +129442,34 @@
                         "hash_match_group_bit": 87
                       },
                       {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 93
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 26,
@@ -139431,6 +129484,18 @@
                         "hash_match_group_bit": 69
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139449,52 +129514,22 @@
                         "hash_match_group_bit": 83
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 27,
@@ -139509,112 +129544,16 @@
                         "hash_match_group_bit": 70
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 83
                       },
                       {
                         "field_bit": 20,
@@ -139623,6 +129562,12 @@
                         "hash_match_group_bit": 84
                       },
                       {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139647,6 +129592,42 @@
                         "hash_match_group_bit": 90
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139671,12 +129652,6 @@
                         "hash_match_group_bit": 71
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139689,12 +129664,6 @@
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139707,18 +129676,84 @@
                         "hash_match_group_bit": 81
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139743,6 +129778,12 @@
                         "hash_match_group_bit": 88
                       },
                       {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139753,78 +129794,12 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
+                        "hash_match_group_bit": 94
                       },
                       {
                         "field_bit": 31,
@@ -139845,16 +129820,10 @@
                         "hash_match_group_bit": 73
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
+                        "hash_match_group_bit": 74
                       },
                       {
                         "field_bit": 15,
@@ -139863,28 +129832,10 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 22,
@@ -139899,10 +129850,10 @@
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 92
+                        "hash_match_group_bit": 93
                       },
                       {
                         "field_bit": 30,
@@ -139923,12 +129874,6 @@
                         "hash_match_group_bit": 64
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139941,10 +129886,10 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 81
+                        "hash_match_group_bit": 78
                       },
                       {
                         "field_bit": 18,
@@ -139953,12 +129898,24 @@
                         "hash_match_group_bit": 82
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139975,12 +129932,6 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 33,
@@ -139995,28 +129946,16 @@
                         "hash_match_group_bit": 65
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 79
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 17,
@@ -140025,10 +129964,88 @@
                         "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 19,
@@ -140037,18 +130054,54 @@
                         "hash_match_group_bit": 83
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 86
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 90
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -140061,84 +130114,6 @@
                         "hash_match_group_bit": 95
                       }
                     ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      }
-                    ],
                     "hash_bit": 35,
                     "seed": 0
                   },
@@ -140157,16 +130132,10 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 76
                       },
                       {
                         "field_bit": 14,
@@ -140175,16 +130144,10 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 79
                       },
                       {
                         "field_bit": 19,
@@ -140193,16 +130156,40 @@
                         "hash_match_group_bit": 83
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 92
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 36,
@@ -140217,162 +130204,6 @@
                         "hash_match_group_bit": 68
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -140391,28 +130222,22 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 78
+                        "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
+                        "hash_match_group_bit": 83
                       },
                       {
                         "field_bit": 22,
@@ -140421,10 +130246,94 @@
                         "hash_match_group_bit": 86
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
                       },
                       {
                         "field_bit": 27,
@@ -140443,10 +130352,82 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 1
+                    "seed": 0
                   }
                 ],
                 "hash_function_number": 1,
@@ -140479,7 +130460,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870964,
+                "action_handle": 536870960,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 178,
@@ -140496,7 +130477,7 @@
               },
               {
                 "action_name": "FabricIngress.next.set_mcast_group_id",
-                "action_handle": 536870963,
+                "action_handle": 536870959,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 178,
@@ -141155,7 +131136,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870964,
+          "handle": 536870960,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -141175,7 +131156,7 @@
         },
         {
           "name": "FabricIngress.next.set_mcast_group_id",
-          "handle": 536870963,
+          "handle": 536870959,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -141268,14 +131249,14 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777249,
+      "handle": 16777237,
       "name": "FabricIngress.next.hashed",
       "table_type": "match",
       "size": 2048,
       "action_data_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 33554441,
+          "handle": 33554440,
           "name": "FabricIngress.next.hashed_selector"
         }
       ],
@@ -141295,7 +131276,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870962,
+      "default_action_handle": 536870958,
       "action_profile": "FabricIngress.next.hashed_selector",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -141343,10 +131324,16 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 17,
@@ -141361,16 +131348,10 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 25,
@@ -141379,20 +131360,32 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 0,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -141403,40 +131396,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 24,
@@ -141451,10 +131420,16 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 29,
@@ -141467,12 +131442,6 @@
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 1,
@@ -141487,70 +131456,10 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 11,
@@ -141559,60 +131468,6 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141631,10 +131486,10 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 19,
@@ -141643,10 +131498,94 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 27,
@@ -141661,6 +131600,78 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141668,7 +131679,7 @@
                       }
                     ],
                     "hash_bit": 4,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -141685,34 +131696,28 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 24,
@@ -141721,22 +131726,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 30,
@@ -141763,124 +131756,22 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 17
                       },
                       {
                         "field_bit": 19,
@@ -141901,12 +131792,6 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141919,6 +131804,84 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141931,34 +131894,94 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 8,
+                    "hash_bit": 7,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
                         "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 17,
@@ -141985,18 +132008,18 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142004,7 +132027,7 @@
                       }
                     ],
                     "hash_bit": 9,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -142021,40 +132044,22 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 21,
@@ -142063,10 +132068,10 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 26,
@@ -142075,16 +132080,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 10,
@@ -142105,16 +132104,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 15,
@@ -142129,10 +132122,10 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 22,
@@ -142141,28 +132134,34 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 11,
@@ -142177,52 +132176,10 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 11,
@@ -142231,16 +132188,22 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 18,
@@ -142255,12 +132218,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142273,40 +132230,64 @@
                         "hash_match_group_bit": 24
                       },
                       {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 13,
+                    "hash_bit": 12,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 16,
@@ -142315,28 +132296,10 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 22,
@@ -142357,6 +132320,12 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142381,16 +132350,16 @@
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 14,
+                    "hash_bit": 13,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 4
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 10,
@@ -142399,16 +132368,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 18,
@@ -142417,10 +132380,16 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 22,
@@ -142429,6 +132398,18 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142445,24 +132426,36 @@
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 15,
-                    "seed": 1
+                    "hash_bit": 14,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 12,
@@ -142477,10 +132470,10 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 17,
@@ -142489,10 +132482,16 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -142501,6 +132500,84 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142543,22 +132620,16 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -142579,22 +132650,34 @@
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -142616,7 +132699,7 @@
                       }
                     ],
                     "hash_bit": 17,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -142627,16 +132710,10 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 16,
@@ -142663,16 +132740,22 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 27,
@@ -142681,20 +132764,14 @@
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 18,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -142705,16 +132782,16 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -142723,16 +132800,16 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 20,
@@ -142741,12 +132818,6 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142765,6 +132836,12 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142789,10 +132866,16 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 19,
@@ -142801,16 +132884,16 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 26,
@@ -142819,28 +132902,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 20,
@@ -142861,10 +132926,58 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
                       },
                       {
                         "field_bit": 13,
@@ -142873,12 +132986,6 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142897,6 +133004,12 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142921,94 +133034,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 31,
@@ -143029,10 +133058,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 14,
@@ -143041,28 +133076,16 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 25,
@@ -143084,7 +133107,7 @@
                       }
                     ],
                     "hash_bit": 23,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -143101,16 +133124,16 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -143119,46 +133142,28 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 28,
@@ -143167,6 +133172,12 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143185,10 +133196,22 @@
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -143197,6 +133220,138 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143215,84 +133370,6 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
                         "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143305,90 +133382,30 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 23
                       },
                       {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143425,22 +133442,22 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -143449,16 +133466,10 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 27,
@@ -143473,98 +133484,14 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -143581,16 +133508,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 14,
@@ -143599,12 +133520,30 @@
                         "hash_match_group_bit": 14
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143623,10 +133562,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 27,
@@ -143635,14 +133574,104 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 30,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -143659,10 +133688,88 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 14,
@@ -143683,202 +133790,10 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 19,
@@ -143905,6 +133820,72 @@
                         "hash_match_group_bit": 23
                       },
                       {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143929,14 +133910,86 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
                       }
                     ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
                     "hash_bit": 34,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -143953,10 +134006,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 15,
@@ -143965,22 +134018,16 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 22,
@@ -143989,16 +134036,16 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 28,
@@ -144017,10 +134064,16 @@
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 35,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -144031,12 +134084,24 @@
                         "hash_match_group_bit": 3
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 12
                       },
                       {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144049,34 +134114,28 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -144085,12 +134144,6 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144104,7 +134157,7 @@
                       }
                     ],
                     "hash_bit": 36,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -144115,138 +134168,6 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144259,10 +134180,16 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -144271,30 +134198,12 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144313,10 +134222,154 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 26,
@@ -144338,7 +134391,7 @@
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 0
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 2,
@@ -144371,7 +134424,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870962,
+                "action_handle": 536870958,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 255,
@@ -144382,7 +134435,7 @@
               },
               {
                 "action_name": "FabricIngress.next.output_hashed",
-                "action_handle": 536870959,
+                "action_handle": 536870955,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 255,
@@ -144393,7 +134446,7 @@
               },
               {
                 "action_name": "FabricIngress.next.routing_hashed",
-                "action_handle": 536870960,
+                "action_handle": 536870956,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 255,
@@ -144404,7 +134457,7 @@
               },
               {
                 "action_name": "FabricIngress.next.mpls_routing_hashed",
-                "action_handle": 536870961,
+                "action_handle": 536870957,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 255,
@@ -145214,7 +135267,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870962,
+          "handle": 536870958,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -145234,7 +135287,7 @@
         },
         {
           "name": "FabricIngress.next.output_hashed",
-          "handle": 536870959,
+          "handle": 536870955,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -145274,7 +135327,7 @@
         },
         {
           "name": "FabricIngress.next.routing_hashed",
-          "handle": 536870960,
+          "handle": 536870956,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -145330,7 +135383,7 @@
         },
         {
           "name": "FabricIngress.next.mpls_routing_hashed",
-          "handle": 536870961,
+          "handle": 536870957,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -145411,7 +135464,7 @@
       "selection_key_name": "undefined",
       "how_referenced": "indirect",
       "max_port_pool_size": 120,
-      "bound_to_action_data_table_handle": 33554441,
+      "bound_to_action_data_table_handle": 33554440,
       "stage_tables": [
         {
           "stage_number": 11,
@@ -145439,7 +135492,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 33554441,
+      "handle": 33554440,
       "name": "FabricIngress.next.hashed_selector",
       "table_type": "action",
       "size": 32768,
@@ -145542,7 +135595,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870961
+              "action_handle": 536870957
             },
             {
               "memory_word_width": 128,
@@ -145576,7 +135629,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870959
+              "action_handle": 536870955
             },
             {
               "memory_word_width": 128,
@@ -145660,7 +135713,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870960
+              "action_handle": 536870956
             },
             {
               "memory_word_width": 128,
@@ -145684,7 +135737,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870962
+              "action_handle": 536870958
             }
           ],
           "memory_resource_allocation": {
@@ -145729,7 +135782,7 @@
       "actions": [
         {
           "name": "FabricIngress.next.mpls_routing_hashed",
-          "handle": 536870961,
+          "handle": 536870957,
           "p4_parameters": [
             {
               "name": "port_num",
@@ -145749,7 +135802,7 @@
         },
         {
           "name": "FabricIngress.next.output_hashed",
-          "handle": 536870959,
+          "handle": 536870955,
           "p4_parameters": [
             {
               "name": "port_num",
@@ -145761,7 +135814,7 @@
         },
         {
           "name": "FabricIngress.next.routing_hashed",
-          "handle": 536870960,
+          "handle": 536870956,
           "p4_parameters": [
             {
               "name": "port_num",
@@ -145773,7 +135826,7 @@
             { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
           ]
         },
-        { "name": "nop", "handle": 536870962, "p4_parameters": [] }
+        { "name": "nop", "handle": 536870958, "p4_parameters": [] }
       ],
       "static_entries": [],
       "how_referenced": "indirect"
@@ -145867,7 +135920,7 @@
     { "stage": 2, "gress": "egress", "match_dependent": true },
     { "stage": 3, "gress": "ingress", "match_dependent": true },
     { "stage": 3, "gress": "egress", "match_dependent": true },
-    { "stage": 4, "gress": "ingress", "match_dependent": true },
+    { "stage": 4, "gress": "ingress", "match_dependent": false },
     { "stage": 4, "gress": "egress", "match_dependent": true },
     { "stage": 5, "gress": "ingress", "match_dependent": true },
     { "stage": 5, "gress": "egress", "match_dependent": true },
@@ -145911,11 +135964,6 @@
       "value": "19522020"
     },
     {
-      "fully_qualified_name": "mau[0].rams.map_alu.stats_wrap[2].stats.statistics_ctl",
-      "name": "stage_0_statistics_ctl_2",
-      "value": "00000059"
-    },
-    {
       "fully_qualified_name": "mau[0].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
       "name": "stage_0_statistics_ctl_3",
       "value": "00000059"
@@ -145923,42 +135971,42 @@
     {
       "fully_qualified_name": "mau[0].dp.match_input_xbar_din_power_ctl",
       "name": "stage_0_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000100000000000000000000000000000002000000002000000000000000000000003000000430000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[0].dp.xbar_hash.hash.hash_seed",
-      "name": "stage_0_hash_seed",
-      "value": "00000002000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002000000000000000000000002000000000000000000000002000000020000000000000000000000020000000200000000000000020000000200000002000000020000000000000002000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000004000000030000000000000000000000000000002000000001000000000000000400000003000000410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[0].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_0_parity_group_mask",
-      "value": "00000002000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
       "name": "stage_1_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000080000000000000002000000040000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000000000000000000001000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[1].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_1_parity_group_mask",
+      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
       "name": "stage_2_statistics_ctl_3",
-      "value": "00000019"
+      "value": "00000059"
     },
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000000600000000000000000000000000000000000000000000000c0000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000004000000010000000000000000000000000000000000000001000000000000000400000082000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.hash_seed",
       "name": "stage_2_hash_seed",
-      "value": "00000000000000000000000000000001000000000000000000000001000000010000000000000000000000010000000000000001000000010000000100000000000000000000000000000000000000010000000100000000000000000000000100000001000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000000000000700000000000000010000000100000007000000060000000200000007000000010000000700000000000000030000000500000007000000030000000700000002000000030000000100000001000000030000000000000006000000030000000300000005000000010000000100000005000000070000000400000005000000000000000700000007000000000000000200000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_2_parity_group_mask",
-      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
@@ -145968,22 +136016,27 @@
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000004a00000000000000000000000000000048000000140000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[3].dp.xbar_hash.hash.hash_seed",
-      "name": "stage_3_hash_seed",
-      "value": "00000001000000020000000000000001000000030000000300000001000000000000000300000003000000010000000200000000000000030000000200000002000000020000000300000002000000030000000100000003000000000000000200000003000000010000000100000000000000020000000200000000000000000000000100000002000000020000000300000000000000000000000300000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000004000000000000000c00000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000200000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_3_parity_group_mask",
-      "value": "00000003000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "0000004a00000020000000000000000000000000000000140000000000000000000000000000000000000000000000000000001800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[4].dp.xbar_hash.hash.hash_seed",
+      "name": "stage_4_hash_seed",
+      "value": "00000001000000010000000000000000000000010000000100000001000000000000000100000000000000000000000100000001000000010000000000000000000000000000000000000001000000000000000100000000000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_4_parity_group_mask",
+      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[5].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
@@ -145993,22 +136046,17 @@
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000000000000000000000000000b00000000600000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
-      "fully_qualified_name": "mau[5].dp.xbar_hash.hash.hash_seed",
-      "name": "stage_5_hash_seed",
-      "value": "00000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001000000000000000000000000000000000000000000000000000000010000000100000001000000000000000000000000000000000000000000000001000000000000000100000001000000010000000000000001000000000000000000000001000000010000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[5].dp.xbar_hash.hash.parity_group_mask",
-      "name": "stage_5_parity_group_mask",
-      "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "fully_qualified_name": "mau[6].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
+      "name": "stage_6_statistics_ctl_3",
+      "value": "00000019"
     },
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
       "name": "stage_6_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000048000000000000000000000000000000100000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].rams.map_alu.stats_wrap[2].stats.statistics_ctl",
@@ -146023,12 +136071,12 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "00000010000000000000000000000000000000b0000000010000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000080000000000000000000000b0000000030000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.hash_seed",
       "name": "stage_7_hash_seed",
-      "value": "00000000000000000000000100000001000000000000000100000001000000010000000000000001000000000000000000000000000000010000000100000000000000010000000100000000000000010000000100000001000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000100000001000000010000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000000000000000000001000000000000000100000001000000000000000000000001000000000000000000000001000000000000000000000001000000000000000000000001000000010000000000000001000000000000000100000000000000000000000000000000000000010000000000000001000000010000000100000000000000000000000000000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -146038,7 +136086,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000008000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[8].dp.xbar_hash.hash.parity_group_mask",
@@ -146053,7 +136101,7 @@
     {
       "fully_qualified_name": "mau[9].dp.match_input_xbar_din_power_ctl",
       "name": "stage_9_match_input_xbar_din_power_ctl",
-      "value": "000000420000000000000000000000000000004800000008000000000000000000000008000000e400000000000000000000001800000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000009000000004000000000000000000000048000000000000000000000000000000900000000b00000000000000000000000000000000000000000000000000000002000000000000000c00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
@@ -146063,12 +136111,12 @@
     {
       "fully_qualified_name": "mau[10].dp.match_input_xbar_din_power_ctl",
       "name": "stage_10_match_input_xbar_din_power_ctl",
-      "value": "0000002000000000000000000000000000000000000000100000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000080000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.hash_seed",
       "name": "stage_10_hash_seed",
-      "value": "00000000000000000000000100000000000000010000000000000000000000010000000100000001000000000000000100000001000000000000000000000000000000010000000100000001000000010000000100000000000000010000000000000000000000000000000000000001000000010000000000000001000000010000000000000001000000010000000100000001000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000000000000100000001000000010000000100000000000000010000000000000000000000000000000100000000000000010000000100000000000000000000000000000000000000000000000100000001000000000000000000000000000000010000000000000000000000010000000100000000000000010000000000000000000000000000000000000000000000010000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.parity_group_mask",
@@ -146093,12 +136141,12 @@
     {
       "fully_qualified_name": "mau[11].dp.match_input_xbar_din_power_ctl",
       "name": "stage_11_match_input_xbar_din_power_ctl",
-      "value": "0000003000000001000000000000000000000000000000080000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000009000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.xbar_hash.hash.hash_seed",
       "name": "stage_11_hash_seed",
-      "value": "00000001000000040000000500000007000000060000000300000005000000060000000100000000000000060000000300000002000000030000000200000006000000070000000400000005000000040000000700000002000000070000000200000004000000000000000300000004000000000000000100000006000000070000000300000004000000030000000000000005000000040000000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000004000000050000000300000003000000020000000000000003000000020000000700000007000000040000000200000000000000000000000000000007000000070000000100000001000000050000000500000002000000070000000700000006000000050000000600000004000000070000000500000000000000030000000200000005000000040000000500000000000000030000000200000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.xbar_hash.hash.parity_group_mask",
@@ -146116,6 +136164,14 @@
           "slice": { "start_bit": 0, "bit_width": 8 }
         },
         {
+          "name": "^fields_md_ip_eth_type",
+          "slice": { "start_bit": 0, "bit_width": 16 }
+        },
+        {
+          "name": "^fields_md_mpls_ttl",
+          "slice": { "start_bit": 0, "bit_width": 8 }
+        },
+        {
           "name": "^fields_md_spgw_tunnel_src_addr",
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
@@ -146124,6 +136180,10 @@
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
         {
+          "name": "^fields_md_spgw_tunnel_src_port",
+          "slice": { "start_bit": 0, "bit_width": 16 }
+        },
+        {
           "name": "^fields_md_spgw_ipv4_len",
           "slice": { "start_bit": 0, "bit_width": 16 }
         },
@@ -146132,14 +136192,6 @@
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
         {
-          "name": "^fields_md_ip_eth_type",
-          "slice": { "start_bit": 0, "bit_width": 16 }
-        },
-        {
-          "name": "^fields_md_mpls_ttl",
-          "slice": { "start_bit": 0, "bit_width": 8 }
-        },
-        {
           "name": "^fields_md_spgw_ctr_id",
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
@@ -146151,11 +136203,7 @@
           "name": "^fields_md_vlan_cfi",
           "slice": { "start_bit": 0, "bit_width": 1 }
         },
-        { "name": "__pad_0", "slice": { "start_bit": 0, "bit_width": 1 } },
-        {
-          "name": "^fields_md_spgw_outer_header_creation",
-          "slice": { "start_bit": 0, "bit_width": 1 }
-        },
+        { "name": "__pad_0", "slice": { "start_bit": 0, "bit_width": 2 } },
         {
           "name": "^fields_md_is_multicast",
           "slice": { "start_bit": 0, "bit_width": 1 }
@@ -146164,12 +136212,29 @@
           "name": "^fields_md_is_controller_packet_out",
           "slice": { "start_bit": 0, "bit_width": 1 }
         },
-        { "name": "__pad_1", "slice": { "start_bit": 0, "bit_width": 7 } },
+        { "name": "__pad_1", "slice": { "start_bit": 0, "bit_width": 2 } },
+        {
+          "name": "^fields_md_spgw_skip_egress_pdr_ctr",
+          "slice": { "start_bit": 0, "bit_width": 1 }
+        },
+        {
+          "name": "^fields_md_spgw_needs_gtpu_encap",
+          "slice": { "start_bit": 0, "bit_width": 1 }
+        },
+        {
+          "name": "^fields_md_fwd_type",
+          "slice": { "start_bit": 0, "bit_width": 3 }
+        },
+        {
+          "name": "^fields_md_spgw_skip_spgw",
+          "slice": { "start_bit": 0, "bit_width": 1 }
+        },
+        { "name": "__pad_2", "slice": { "start_bit": 0, "bit_width": 7 } },
         {
           "name": "^fields_ig_intr_md_ingress_port",
           "slice": { "start_bit": 0, "bit_width": 9 }
         },
-        { "name": "__pad_2", "slice": { "start_bit": 0, "bit_width": 4 } },
+        { "name": "__pad_3", "slice": { "start_bit": 0, "bit_width": 4 } },
         {
           "name": "^fields_md_vlan_id",
           "slice": { "start_bit": 0, "bit_width": 12 }
@@ -146178,7 +136243,7 @@
           "name": "^fields_md_mpls_label",
           "slice": { "start_bit": 0, "bit_width": 20 }
         },
-        { "name": "__pad_3", "slice": { "start_bit": 0, "bit_width": 4 } }
+        { "name": "__pad_4", "slice": { "start_bit": 0, "bit_width": 4 } }
       ]
     },
     {
@@ -146190,6 +136255,6 @@
       ]
     }
   ],
-  "run_id": "96148f0d4f1fd3f1",
+  "run_id": "230d30239b2ebed1",
   "driver_options": { "hash_parity_enabled": false, "high_availability_enabled": true }
 }
\ No newline at end of file
diff --git a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/tofino.bin b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/tofino.bin
index d601055..ec193e4 100644
--- a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/tofino.bin
+++ b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/pipe/tofino.bin
Binary files differ
diff --git a/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/p4info.txt b/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/p4info.txt
index cff4d2f..8118037 100644
--- a/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/p4info.txt
+++ b/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/p4info.txt
@@ -3,179 +3,6 @@
 }
 tables {
   preamble {
-    id: 33586632
-    name: "FabricIngress.spgw_ingress.downlink_filter_table"
-    alias: "downlink_filter_table"
-  }
-  match_fields {
-    id: 1
-    name: "ipv4_prefix"
-    bitwidth: 32
-    match_type: LPM
-  }
-  action_refs {
-    id: 16819938
-  }
-  const_default_action_id: 16819938
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33567046
-    name: "FabricIngress.spgw_ingress.uplink_filter_table"
-    alias: "uplink_filter_table"
-  }
-  match_fields {
-    id: 1
-    name: "gtp_ipv4_dst"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16819938
-  }
-  const_default_action_id: 16819938
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33586958
-    name: "FabricIngress.spgw_ingress.downlink_pdr_lookup"
-    alias: "downlink_pdr_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "ue_addr"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16799934
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly"
-    scope: DEFAULT_ONLY
-  }
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33587070
-    name: "FabricIngress.spgw_ingress.uplink_pdr_lookup"
-    alias: "uplink_pdr_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "tunnel_ipv4_dst"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  match_fields {
-    id: 2
-    name: "teid"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  match_fields {
-    id: 3
-    name: "ue_addr"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16799934
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly"
-    scope: DEFAULT_ONLY
-  }
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33582573
-    name: "FabricIngress.spgw_ingress.flexible_pdr_lookup"
-    alias: "flexible_pdr_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "spgw_direction"
-    bitwidth: 2
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 2
-    name: "tunnel_ipv4_dst"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 3
-    name: "teid"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 4
-    name: "ipv4_src"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 5
-    name: "ipv4_dst"
-    bitwidth: 32
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 6
-    name: "ip_proto"
-    bitwidth: 8
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 7
-    name: "l4_sport"
-    bitwidth: 16
-    match_type: TERNARY
-  }
-  match_fields {
-    id: 8
-    name: "l4_dport"
-    bitwidth: 16
-    match_type: TERNARY
-  }
-  action_refs {
-    id: 16799934
-  }
-  const_default_action_id: 16799934
-  size: 1024
-}
-tables {
-  preamble {
-    id: 33613200
-    name: "FabricIngress.spgw_ingress.far_lookup"
-    alias: "far_lookup"
-  }
-  match_fields {
-    id: 1
-    name: "far_id"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16834935
-  }
-  action_refs {
-    id: 16787606
-  }
-  const_default_action_id: 16834935
-  size: 1024
-}
-tables {
-  preamble {
     id: 33611649
     name: "FabricIngress.filtering.ingress_port_vlan"
     alias: "ingress_port_vlan"
@@ -539,6 +366,109 @@
 }
 tables {
   preamble {
+    id: 33557250
+    name: "FabricIngress.spgw.interfaces"
+    alias: "interfaces"
+  }
+  match_fields {
+    id: 1
+    name: "ipv4_dst_addr"
+    bitwidth: 32
+    match_type: LPM
+  }
+  match_fields {
+    id: 2
+    name: "gtpu_is_valid"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16810012
+  }
+  action_refs {
+    id: 16783042
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 16783042
+  size: 128
+}
+tables {
+  preamble {
+    id: 33566601
+    name: "FabricIngress.spgw.downlink_pdrs"
+    alias: "downlink_pdrs"
+  }
+  match_fields {
+    id: 1
+    name: "ue_addr"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800614
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33606410
+    name: "FabricIngress.spgw.uplink_pdrs"
+    alias: "uplink_pdrs"
+  }
+  match_fields {
+    id: 1
+    name: "tunnel_ipv4_dst"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "teid"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800614
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33599560
+    name: "FabricIngress.spgw.fars"
+    alias: "fars"
+  }
+  match_fields {
+    id: 1
+    name: "far_id"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16820307
+  }
+  action_refs {
+    id: 16814785
+  }
+  action_refs {
+    id: 16814681
+  }
+  const_default_action_id: 16820307
+  size: 2048
+}
+tables {
+  preamble {
     id: 33599342
     name: "FabricEgress.egress_next.egress_vlan"
     alias: "egress_vlan"
@@ -556,14 +486,17 @@
     match_type: EXACT
   }
   action_refs {
+    id: 16807339
+  }
+  action_refs {
     id: 16790030
   }
   action_refs {
-    id: 16819938
+    id: 16787838
     annotations: "@defaultonly"
     scope: DEFAULT_ONLY
   }
-  const_default_action_id: 16819938
+  const_default_action_id: 16787838
   direct_resource_ids: 318827144
   size: 2048
 }
@@ -583,72 +516,6 @@
 }
 actions {
   preamble {
-    id: 16799934
-    name: "FabricIngress.spgw_ingress.set_pdr_attributes"
-    alias: "set_pdr_attributes"
-  }
-  params {
-    id: 1
-    name: "ctr_id"
-    bitwidth: 32
-  }
-  params {
-    id: 2
-    name: "far_id"
-    bitwidth: 32
-  }
-}
-actions {
-  preamble {
-    id: 16834935
-    name: "FabricIngress.spgw_ingress.load_normal_far_attributes"
-    alias: "load_normal_far_attributes"
-  }
-  params {
-    id: 1
-    name: "drop"
-    bitwidth: 1
-  }
-  params {
-    id: 2
-    name: "notify_cp"
-    bitwidth: 1
-  }
-}
-actions {
-  preamble {
-    id: 16787606
-    name: "FabricIngress.spgw_ingress.load_tunnel_far_attributes"
-    alias: "load_tunnel_far_attributes"
-  }
-  params {
-    id: 1
-    name: "drop"
-    bitwidth: 1
-  }
-  params {
-    id: 2
-    name: "notify_cp"
-    bitwidth: 1
-  }
-  params {
-    id: 3
-    name: "tunnel_src_addr"
-    bitwidth: 32
-  }
-  params {
-    id: 4
-    name: "tunnel_dst_addr"
-    bitwidth: 32
-  }
-  params {
-    id: 5
-    name: "teid"
-    bitwidth: 32
-  }
-}
-actions {
-  preamble {
     id: 16836487
     name: "FabricIngress.filtering.deny"
     alias: "deny"
@@ -763,7 +630,7 @@
   preamble {
     id: 16820765
     name: "FabricIngress.acl.drop"
-    alias: "drop"
+    alias: "acl.drop"
   }
 }
 actions {
@@ -884,11 +751,157 @@
 }
 actions {
   preamble {
+    id: 16810012
+    name: "FabricIngress.spgw.load_iface"
+    alias: "load_iface"
+  }
+  params {
+    id: 1
+    name: "src_iface"
+    bitwidth: 8
+  }
+}
+actions {
+  preamble {
+    id: 16783042
+    name: "FabricIngress.spgw.iface_miss"
+    alias: "iface_miss"
+  }
+}
+actions {
+  preamble {
+    id: 16800614
+    name: "FabricIngress.spgw.load_pdr"
+    alias: "load_pdr"
+  }
+  params {
+    id: 1
+    name: "ctr_id"
+    bitwidth: 32
+  }
+  params {
+    id: 2
+    name: "far_id"
+    bitwidth: 32
+  }
+  params {
+    id: 3
+    name: "needs_gtpu_decap"
+    bitwidth: 1
+  }
+}
+actions {
+  preamble {
+    id: 16820307
+    name: "FabricIngress.spgw.load_normal_far"
+    alias: "load_normal_far"
+  }
+  params {
+    id: 1
+    name: "drop"
+    bitwidth: 1
+  }
+  params {
+    id: 2
+    name: "notify_cp"
+    bitwidth: 1
+  }
+}
+actions {
+  preamble {
+    id: 16814785
+    name: "FabricIngress.spgw.load_tunnel_far"
+    alias: "load_tunnel_far"
+  }
+  params {
+    id: 1
+    name: "drop"
+    bitwidth: 1
+  }
+  params {
+    id: 2
+    name: "notify_cp"
+    bitwidth: 1
+  }
+  params {
+    id: 3
+    name: "tunnel_src_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "tunnel_src_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 5
+    name: "tunnel_dst_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 6
+    name: "teid"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 16814681
+    name: "FabricIngress.spgw.load_dbuf_far"
+    alias: "load_dbuf_far"
+  }
+  params {
+    id: 1
+    name: "drop"
+    bitwidth: 1
+  }
+  params {
+    id: 2
+    name: "notify_cp"
+    bitwidth: 1
+  }
+  params {
+    id: 3
+    name: "tunnel_src_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "tunnel_src_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 5
+    name: "tunnel_dst_addr"
+    bitwidth: 32
+  }
+  params {
+    id: 6
+    name: "teid"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 16807339
+    name: "FabricEgress.egress_next.push_vlan"
+    alias: "push_vlan"
+  }
+}
+actions {
+  preamble {
     id: 16790030
     name: "FabricEgress.egress_next.pop_vlan"
     alias: "pop_vlan"
   }
 }
+actions {
+  preamble {
+    id: 16787838
+    name: "FabricEgress.egress_next.drop"
+    alias: "egress_next.drop"
+  }
+}
 action_profiles {
   preamble {
     id: 285217164
@@ -902,25 +915,25 @@
 }
 counters {
   preamble {
-    id: 302029884
-    name: "FabricIngress.spgw_ingress.pdr_counter"
-    alias: "spgw_ingress.pdr_counter"
+    id: 302043952
+    name: "FabricIngress.spgw.pdr_counter"
+    alias: "FabricIngress.spgw.pdr_counter"
   }
   spec {
     unit: BOTH
   }
-  size: 1024
+  size: 2048
 }
 counters {
   preamble {
-    id: 302012289
-    name: "FabricEgress.spgw_egress.pdr_counter"
-    alias: "spgw_egress.pdr_counter"
+    id: 302049491
+    name: "FabricEgress.spgw.pdr_counter"
+    alias: "FabricEgress.spgw.pdr_counter"
   }
   spec {
     unit: BOTH
   }
-  size: 1024
+  size: 2048
 }
 direct_counters {
   preamble {
diff --git a/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/context.json b/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/context.json
index 6575be9..c7523e5 100644
--- a/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/context.json
+++ b/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "Thu Jul 16 02:45:11 2020",
+  "build_date": "Wed Jan  6 08:38:26 2021",
   "schema_version": "1.8.4",
   "compiler_version": "9.0.0",
   "target": "tofino",
@@ -190,60 +190,46 @@
         "parser_state_id": 13
       },
       {
-        "parser_name": "parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 229 ],
         "uses_pvs": false,
-        "parser_state_id": 13
+        "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 228 ],
         "uses_pvs": false,
         "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 227 ],
         "uses_pvs": false,
-        "parser_state_id": 15
+        "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 226 ],
         "uses_pvs": false,
-        "parser_state_id": 15
+        "parser_state_id": 14
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_inner_udp",
         "match_registers": [],
         "tcam_rows": [ 225 ],
         "uses_pvs": false,
         "parser_state_id": 15
       },
       {
-        "parser_name": "do_parse_gtpu.$split_0",
+        "parser_name": "parse_icmp",
         "match_registers": [],
         "tcam_rows": [ 224 ],
         "uses_pvs": false,
-        "parser_state_id": 15
-      },
-      {
-        "parser_name": "parse_inner_udp",
-        "match_registers": [],
-        "tcam_rows": [ 223 ],
-        "uses_pvs": false,
         "parser_state_id": 16
-      },
-      {
-        "parser_name": "parse_icmp",
-        "match_registers": [],
-        "tcam_rows": [ 222 ],
-        "uses_pvs": false,
-        "parser_state_id": 17
       }
     ],
     "egress": [
@@ -283,7 +269,7 @@
         "parser_state_id": 3
       },
       {
-        "parser_name": "start",
+        "parser_name": "$bridged_metadata.$split_1",
         "match_registers": [],
         "tcam_rows": [ 250 ],
         "uses_pvs": false,
@@ -294,17 +280,17 @@
         "match_registers": [],
         "tcam_rows": [ 249 ],
         "uses_pvs": false,
-        "parser_state_id": 4
+        "parser_state_id": 5
       },
       {
-        "parser_name": "parse_packet_out",
+        "parser_name": "start",
         "match_registers": [],
         "tcam_rows": [ 248 ],
         "uses_pvs": false,
         "parser_state_id": 5
       },
       {
-        "parser_name": "parse_ethernet",
+        "parser_name": "parse_packet_out",
         "match_registers": [],
         "tcam_rows": [ 247 ],
         "uses_pvs": false,
@@ -315,24 +301,24 @@
         "match_registers": [],
         "tcam_rows": [ 246 ],
         "uses_pvs": false,
-        "parser_state_id": 6
+        "parser_state_id": 7
       },
       {
         "parser_name": "parse_ethernet",
         "match_registers": [],
         "tcam_rows": [ 245 ],
         "uses_pvs": false,
-        "parser_state_id": 6
+        "parser_state_id": 7
       },
       {
         "parser_name": "parse_ethernet",
         "match_registers": [],
         "tcam_rows": [ 244 ],
         "uses_pvs": false,
-        "parser_state_id": 6
+        "parser_state_id": 7
       },
       {
-        "parser_name": "parse_vlan_tag",
+        "parser_name": "parse_ethernet",
         "match_registers": [],
         "tcam_rows": [ 243 ],
         "uses_pvs": false,
@@ -343,17 +329,17 @@
         "match_registers": [],
         "tcam_rows": [ 242 ],
         "uses_pvs": false,
-        "parser_state_id": 7
+        "parser_state_id": 8
       },
       {
-        "parser_name": "parse_inner_vlan_tag",
+        "parser_name": "parse_vlan_tag",
         "match_registers": [],
         "tcam_rows": [ 241 ],
         "uses_pvs": false,
         "parser_state_id": 8
       },
       {
-        "parser_name": "parse_eth_type",
+        "parser_name": "parse_inner_vlan_tag",
         "match_registers": [],
         "tcam_rows": [ 240 ],
         "uses_pvs": false,
@@ -364,17 +350,17 @@
         "match_registers": [],
         "tcam_rows": [ 239 ],
         "uses_pvs": false,
-        "parser_state_id": 9
+        "parser_state_id": 10
       },
       {
         "parser_name": "parse_eth_type",
         "match_registers": [],
         "tcam_rows": [ 238 ],
         "uses_pvs": false,
-        "parser_state_id": 9
+        "parser_state_id": 10
       },
       {
-        "parser_name": "parse_mpls",
+        "parser_name": "parse_eth_type",
         "match_registers": [],
         "tcam_rows": [ 237 ],
         "uses_pvs": false,
@@ -385,38 +371,38 @@
         "match_registers": [],
         "tcam_rows": [ 236 ],
         "uses_pvs": false,
-        "parser_state_id": 10
+        "parser_state_id": 11
       },
       {
-        "parser_name": "parse_ipv4",
+        "parser_name": "parse_mpls",
         "match_registers": [],
         "tcam_rows": [ 235 ],
         "uses_pvs": false,
         "parser_state_id": 11
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 234 ],
         "uses_pvs": false,
         "parser_state_id": 12
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 233 ],
         "uses_pvs": false,
         "parser_state_id": 12
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 232 ],
         "uses_pvs": false,
         "parser_state_id": 12
       },
       {
-        "parser_name": "parse_ipv4.$split_0",
+        "parser_name": "parse_ipv4",
         "match_registers": [],
         "tcam_rows": [ 231 ],
         "uses_pvs": false,
@@ -430,7 +416,7 @@
         "parser_state_id": 13
       },
       {
-        "parser_name": "parse_udp",
+        "parser_name": "parse_tcp.$split_0",
         "match_registers": [],
         "tcam_rows": [ 229 ],
         "uses_pvs": false,
@@ -441,10 +427,10 @@
         "match_registers": [],
         "tcam_rows": [ 228 ],
         "uses_pvs": false,
-        "parser_state_id": 14
+        "parser_state_id": 15
       },
       {
-        "parser_name": "parse_gtpu",
+        "parser_name": "parse_udp",
         "match_registers": [],
         "tcam_rows": [ 227 ],
         "uses_pvs": false,
@@ -455,63 +441,70 @@
         "match_registers": [],
         "tcam_rows": [ 226 ],
         "uses_pvs": false,
-        "parser_state_id": 15
+        "parser_state_id": 16
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 225 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 224 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 223 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
-        "parser_name": "do_parse_gtpu",
+        "parser_name": "parse_gtpu.$split_0",
         "match_registers": [],
         "tcam_rows": [ 222 ],
         "uses_pvs": false,
-        "parser_state_id": 16
+        "parser_state_id": 17
       },
       {
         "parser_name": "parse_inner_udp",
         "match_registers": [],
         "tcam_rows": [ 221 ],
         "uses_pvs": false,
-        "parser_state_id": 17
+        "parser_state_id": 18
       },
       {
         "parser_name": "parse_icmp",
         "match_registers": [],
         "tcam_rows": [ 220 ],
         "uses_pvs": false,
-        "parser_state_id": 18
+        "parser_state_id": 19
+      },
+      {
+        "parser_name": "parse_icmp.$split_0",
+        "match_registers": [],
+        "tcam_rows": [ 219 ],
+        "uses_pvs": false,
+        "parser_state_id": 20
       },
       {
         "parser_name": "$mirrored",
         "match_registers": [],
-        "tcam_rows": [ 219 ],
+        "tcam_rows": [ 218 ],
         "uses_pvs": false,
-        "parser_state_id": 19
+        "parser_state_id": 21
       },
       {
         "parser_name": "$mirror_field_list_ingress_1",
         "match_registers": [],
-        "tcam_rows": [ 218 ],
+        "tcam_rows": [ 217 ],
         "uses_pvs": false,
-        "parser_state_id": 20
+        "parser_state_id": 22
       }
     ]
   },
@@ -523,29 +516,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -558,15 +593,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -579,15 +628,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -600,15 +705,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -621,18 +754,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -642,29 +789,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -677,8 +838,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -698,11 +859,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -719,7 +880,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -740,43 +901,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -789,43 +922,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -838,43 +943,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -887,40 +964,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -936,36 +1031,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -985,43 +1108,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -1034,15 +1157,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -1055,26 +1206,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -1090,7 +1249,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1104,7 +1590,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1121,46 +1607,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1174,7 +1625,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1191,16 +1642,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -1209,12 +1658,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -1226,33 +1673,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -1261,12 +1692,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -1282,11 +1840,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1303,11 +1882,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -1324,11 +1924,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -1345,343 +1945,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -1691,7 +2061,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1712,21 +2082,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1747,7 +2117,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1776,8 +2160,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -1790,7 +2174,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1804,7 +2188,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1818,7 +2202,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -1839,8 +2223,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -1853,7 +2237,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -1865,20 +2249,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -1888,7 +2258,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -1902,7 +2272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1918,33 +2288,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1958,7 +2314,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1972,7 +2328,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -1984,20 +2340,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -2007,7 +2349,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2028,7 +2370,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2049,7 +2391,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -2063,8 +2482,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -2077,15 +2496,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2094,11 +2513,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2115,65 +2534,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -2184,8 +2567,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -2194,92 +2577,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -2289,7 +2602,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -2310,7 +2623,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2331,29 +2644,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2366,29 +2679,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2401,8 +2714,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -2422,273 +2735,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -2705,11 +2752,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2726,11 +2773,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2747,11 +2794,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2768,33 +2815,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -2814,7 +3155,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -2828,7 +3169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2842,7 +3183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2856,7 +3197,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2870,7 +3211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2884,7 +3225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -2898,7 +3239,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2912,7 +3253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2933,124 +3274,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3064,7 +3288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3078,7 +3302,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -3092,7 +3316,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -3109,11 +3333,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -3127,7 +3351,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3141,7 +3365,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -3155,7 +3379,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3172,46 +3396,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3232,175 +3421,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3423,88 +3444,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -3515,7 +3459,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -3526,7 +3470,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -3537,8 +3481,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -3548,7 +3492,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -3559,8 +3503,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -3581,8 +3525,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -3603,8 +3547,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -3625,8 +3569,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -3647,8 +3591,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -3669,8 +3613,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -3691,7 +3635,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -3706,15 +3782,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -3723,11 +3799,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3748,7 +3824,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -3760,7 +3836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -3772,7 +3848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3784,7 +3860,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3796,7 +3872,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -3808,7 +3884,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3820,7 +3896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -3832,7 +3908,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3844,7 +3920,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -3863,7 +3939,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3884,7 +3960,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3905,7 +3981,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3947,7 +4023,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3968,7 +4044,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3982,7 +4058,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -3996,7 +4072,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4017,11 +4093,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4031,11 +4107,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4052,84 +4128,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -4139,7 +4191,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -4181,7 +4233,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -4195,7 +4247,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -4214,70 +4266,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4294,15 +4283,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -4315,16 +4304,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -4336,30 +4379,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -4368,12 +4397,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -4382,7 +4411,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4396,7 +4425,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4413,11 +4442,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -4431,7 +4460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4445,7 +4474,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -4462,11 +4491,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4483,11 +4512,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4508,7 +4558,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4529,7 +4579,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4550,7 +4600,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4571,11 +4621,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4585,11 +4635,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4599,11 +4649,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4613,11 +4663,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4627,11 +4677,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4641,11 +4691,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4655,11 +4705,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4676,11 +4726,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4690,11 +4740,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -4711,11 +4761,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -4732,129 +4782,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -4862,19 +4880,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -4889,7 +4901,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4903,7 +5211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -4917,7 +5225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -4931,7 +5239,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -4948,17 +5256,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -4966,29 +5279,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -4997,17 +5377,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -5015,13 +5395,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -5029,13 +5409,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -5043,13 +5444,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -5064,90 +5500,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -5164,11 +5517,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5189,7 +5619,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5210,14 +5640,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -5231,14 +5671,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -5252,13 +5702,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -5273,10 +5807,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -5295,28 +5829,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5329,29 +5849,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5364,29 +5870,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5399,32 +5905,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -5434,15 +5926,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5455,8 +5961,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5476,8 +5982,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5493,18 +6034,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -5518,8 +6224,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5539,8 +6245,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -5560,8 +6266,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5581,8 +6287,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -5602,32 +6308,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -5637,32 +6329,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -5672,7 +6350,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5689,11 +6430,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5719,29 +6460,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5754,15 +6537,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5775,15 +6572,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5796,15 +6649,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5817,18 +6698,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -5838,29 +6733,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5873,8 +6782,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -5894,11 +6803,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -5915,7 +6824,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5936,43 +6845,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5985,43 +6866,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6034,43 +6887,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6083,40 +6908,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -6132,36 +6975,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -6181,43 +7052,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6230,15 +7101,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6251,26 +7150,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -6286,7 +7193,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6300,7 +7534,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6317,46 +7551,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6370,7 +7569,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6387,16 +7586,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -6405,12 +7602,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -6422,33 +7617,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6457,12 +7636,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -6478,11 +7784,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6499,11 +7826,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6520,11 +7868,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6541,343 +7889,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -6887,7 +8005,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -6908,21 +8026,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6943,7 +8061,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -6972,8 +8104,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -6986,7 +8118,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -7000,7 +8132,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7014,7 +8146,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -7035,8 +8167,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -7049,7 +8181,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -7061,20 +8193,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -7084,7 +8202,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -7098,7 +8216,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7114,33 +8232,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7154,7 +8258,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7168,7 +8272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -7180,20 +8284,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -7203,7 +8293,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7224,7 +8314,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7245,7 +8335,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -7259,8 +8426,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -7273,15 +8440,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7290,11 +8457,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7311,65 +8478,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -7380,8 +8511,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -7390,92 +8521,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -7485,7 +8546,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -7506,7 +8567,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7527,29 +8588,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7562,29 +8623,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7597,8 +8658,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -7618,273 +8679,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -7901,11 +8696,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7922,11 +8717,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7943,11 +8738,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7964,33 +8759,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -8010,7 +9099,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8024,7 +9113,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8038,7 +9127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8052,7 +9141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8066,7 +9155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8080,7 +9169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8094,7 +9183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8108,7 +9197,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8129,124 +9218,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8260,7 +9232,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8274,7 +9246,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8288,7 +9260,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -8305,11 +9277,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -8323,7 +9295,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8337,7 +9309,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -8351,7 +9323,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8368,46 +9340,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8428,175 +9365,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8619,88 +9388,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -8711,7 +9403,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -8722,7 +9414,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -8733,8 +9425,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -8744,7 +9436,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -8755,8 +9447,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -8777,8 +9469,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -8799,8 +9491,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -8821,8 +9513,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -8843,8 +9535,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -8865,8 +9557,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -8887,7 +9579,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -8902,15 +9726,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -8919,11 +9743,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8944,7 +9768,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -8956,7 +9780,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -8968,7 +9792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -8980,7 +9804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8992,7 +9816,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -9004,7 +9828,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9016,7 +9840,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -9028,7 +9852,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9040,7 +9864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -9059,7 +9883,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9080,7 +9904,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9101,7 +9925,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9143,7 +9967,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -9164,7 +9988,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -9178,7 +10002,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -9192,7 +10016,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9213,11 +10037,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9227,11 +10051,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9248,84 +10072,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -9335,7 +10135,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -9377,7 +10177,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -9391,7 +10191,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -9410,70 +10210,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9490,15 +10227,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -9511,16 +10248,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -9532,30 +10323,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -9564,12 +10341,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -9578,7 +10355,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9592,7 +10369,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9609,11 +10386,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -9627,7 +10404,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -9641,7 +10418,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -9658,11 +10435,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9679,11 +10456,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9704,7 +10502,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9725,7 +10523,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9746,7 +10544,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9767,11 +10565,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9781,11 +10579,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9795,11 +10593,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9809,11 +10607,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9823,11 +10621,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9837,11 +10635,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9851,11 +10649,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9872,11 +10670,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9886,11 +10684,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -9907,11 +10705,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -9928,129 +10726,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -10058,19 +10824,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10085,7 +10845,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10099,7 +11155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -10113,7 +11169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -10127,7 +11183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -10144,17 +11200,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -10162,29 +11223,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10193,17 +11321,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -10211,13 +11339,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10225,13 +11353,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -10239,13 +11388,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10260,90 +11444,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -10360,11 +11461,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10385,7 +11563,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10406,14 +11584,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10427,14 +11615,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10448,13 +11646,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -10469,10 +11751,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -10491,28 +11773,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10525,29 +11793,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10560,29 +11814,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10595,32 +11849,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -10630,15 +11870,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10651,8 +11905,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10672,8 +11926,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10689,18 +11978,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10714,8 +12168,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10735,8 +12189,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -10756,8 +12210,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -10777,8 +12231,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -10798,32 +12252,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -10833,32 +12273,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -10868,7 +12294,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10885,11 +12374,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10915,29 +12404,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10950,15 +12481,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10971,15 +12516,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10992,15 +12593,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11013,18 +12642,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -11034,29 +12677,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11069,8 +12726,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -11090,11 +12747,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -11111,7 +12768,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11132,43 +12789,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11181,43 +12810,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11230,43 +12831,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11279,40 +12852,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -11328,36 +12919,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -11377,43 +12996,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11426,15 +13045,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11447,26 +13094,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -11482,7 +13137,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11496,7 +13478,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11513,46 +13495,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11566,7 +13513,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11583,16 +13530,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -11601,12 +13546,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -11618,33 +13561,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11653,12 +13580,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -11674,11 +13728,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11695,11 +13770,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -11716,11 +13812,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -11737,343 +13833,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -12083,7 +13949,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12104,21 +13970,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12139,7 +14005,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12168,8 +14048,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -12182,7 +14062,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12196,7 +14076,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12210,7 +14090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -12231,8 +14111,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -12245,7 +14125,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -12257,20 +14137,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -12280,7 +14146,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -12294,7 +14160,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12310,33 +14176,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12350,7 +14202,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12364,7 +14216,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -12376,20 +14228,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -12399,7 +14237,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12420,7 +14258,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12441,7 +14279,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -12455,8 +14370,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -12469,15 +14384,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -12486,11 +14401,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12507,65 +14422,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -12576,8 +14455,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -12586,92 +14465,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -12681,7 +14490,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -12702,7 +14511,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12723,29 +14532,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -12758,29 +14567,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -12793,8 +14602,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -12814,273 +14623,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13097,11 +14640,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13118,11 +14661,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13139,11 +14682,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13160,33 +14703,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -13206,7 +15043,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -13220,7 +15057,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13234,7 +15071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13248,7 +15085,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13262,7 +15099,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13276,7 +15113,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13290,7 +15127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13304,7 +15141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13325,124 +15162,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13456,7 +15176,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -13470,7 +15190,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13484,7 +15204,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -13501,11 +15221,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -13519,7 +15239,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -13533,7 +15253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -13547,7 +15267,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13564,46 +15284,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13624,175 +15309,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13815,88 +15332,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -13907,7 +15347,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -13918,7 +15358,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -13929,8 +15369,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -13940,7 +15380,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -13951,8 +15391,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -13973,8 +15413,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -13995,8 +15435,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -14017,8 +15457,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -14039,8 +15479,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -14061,8 +15501,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -14083,7 +15523,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -14098,15 +15670,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -14115,11 +15687,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14140,7 +15712,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -14152,7 +15724,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -14164,7 +15736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -14176,7 +15748,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14188,7 +15760,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -14200,7 +15772,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14212,7 +15784,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -14224,7 +15796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14236,7 +15808,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -14255,7 +15827,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14276,7 +15848,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14297,7 +15869,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14339,7 +15911,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -14360,7 +15932,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -14374,7 +15946,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -14388,7 +15960,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14409,11 +15981,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14423,11 +15995,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14444,84 +16016,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -14531,7 +16079,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -14573,7 +16121,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -14587,7 +16135,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -14606,70 +16154,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14686,15 +16171,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -14707,16 +16192,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -14728,30 +16267,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -14760,12 +16285,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -14774,7 +16299,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14788,7 +16313,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14805,11 +16330,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -14823,7 +16348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -14837,7 +16362,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -14854,11 +16379,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14875,11 +16400,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14900,7 +16446,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14921,7 +16467,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -14942,7 +16488,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -14963,11 +16509,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14977,11 +16523,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -14991,11 +16537,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15005,11 +16551,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15019,11 +16565,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15033,11 +16579,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15047,11 +16593,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15068,11 +16614,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15082,11 +16628,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -15103,11 +16649,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -15124,129 +16670,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -15254,19 +16768,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -15281,7 +16789,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15295,7 +17099,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -15309,7 +17113,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -15323,7 +17127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -15340,17 +17144,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -15358,29 +17167,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15389,17 +17265,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -15407,13 +17283,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -15421,13 +17297,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -15435,13 +17332,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -15456,90 +17388,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -15556,11 +17405,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15581,7 +17507,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15602,14 +17528,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -15623,14 +17559,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -15644,13 +17590,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -15665,10 +17695,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -15687,28 +17717,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15721,29 +17737,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15756,29 +17758,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15791,32 +17793,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -15826,15 +17814,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -15847,8 +17849,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15868,8 +17870,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15885,18 +17922,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -15910,8 +18112,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15931,8 +18133,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -15952,8 +18154,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -15973,8 +18175,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -15994,32 +18196,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -16029,32 +18217,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -16064,7 +18238,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16081,11 +18318,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16111,29 +18348,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16146,15 +18425,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16167,15 +18460,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16188,15 +18537,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16209,18 +18586,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -16230,29 +18621,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16265,8 +18670,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -16286,11 +18691,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -16307,7 +18712,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16328,43 +18733,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16377,43 +18754,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16426,43 +18775,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16475,40 +18796,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -16524,36 +18863,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -16573,43 +18940,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16622,15 +18989,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16643,26 +19038,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -16678,7 +19081,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16692,7 +19422,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16709,46 +19439,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16762,7 +19457,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16779,16 +19474,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -16797,12 +19490,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -16814,33 +19505,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16849,12 +19524,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -16870,11 +19672,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16891,11 +19714,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16912,11 +19756,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16933,343 +19777,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -17279,7 +19893,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17300,21 +19914,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17335,7 +19949,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17364,8 +19992,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -17378,7 +20006,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17392,7 +20020,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17406,7 +20034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -17427,8 +20055,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -17441,7 +20069,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -17453,20 +20081,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -17476,7 +20090,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -17490,7 +20104,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17506,33 +20120,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17546,7 +20146,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17560,7 +20160,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -17572,20 +20172,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -17595,7 +20181,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17616,7 +20202,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17637,7 +20223,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -17651,8 +20314,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -17665,15 +20328,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -17682,11 +20345,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17703,65 +20366,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -17772,8 +20399,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -17782,92 +20409,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -17877,7 +20434,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -17898,7 +20455,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17919,29 +20476,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -17954,29 +20511,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -17989,8 +20546,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -18010,273 +20567,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -18293,11 +20584,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18314,11 +20605,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18335,11 +20626,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18356,33 +20647,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -18402,7 +20987,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -18416,7 +21001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18430,7 +21015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18444,7 +21029,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18458,7 +21043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18472,7 +21057,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18486,7 +21071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18500,7 +21085,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18521,124 +21106,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18652,7 +21120,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -18666,7 +21134,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18680,7 +21148,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -18697,11 +21165,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -18715,7 +21183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -18729,7 +21197,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -18743,7 +21211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18760,46 +21228,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18820,175 +21253,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19011,88 +21276,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -19103,7 +21291,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -19114,7 +21302,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -19125,8 +21313,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -19136,7 +21324,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -19147,8 +21335,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -19169,8 +21357,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -19191,8 +21379,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -19213,8 +21401,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -19235,8 +21423,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -19257,8 +21445,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -19279,7 +21467,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -19294,15 +21614,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -19311,11 +21631,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19336,7 +21656,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -19348,7 +21668,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -19360,7 +21680,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -19372,7 +21692,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19384,7 +21704,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -19396,7 +21716,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19408,7 +21728,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -19420,7 +21740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19432,7 +21752,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -19451,7 +21771,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19472,7 +21792,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19493,7 +21813,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19535,7 +21855,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19556,7 +21876,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19570,7 +21890,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -19584,7 +21904,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -19605,11 +21925,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -19619,11 +21939,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -19640,84 +21960,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -19727,7 +22023,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -19769,7 +22065,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -19783,7 +22079,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -19802,70 +22098,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19882,15 +22115,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -19903,16 +22136,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -19924,30 +22211,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -19956,12 +22229,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -19970,7 +22243,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -19984,7 +22257,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -20001,11 +22274,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -20019,7 +22292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -20033,7 +22306,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -20050,11 +22323,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20071,11 +22344,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20096,7 +22390,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20117,7 +22411,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -20138,7 +22432,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -20159,11 +22453,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20173,11 +22467,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20187,11 +22481,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20201,11 +22495,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20215,11 +22509,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20229,11 +22523,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20243,11 +22537,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20264,11 +22558,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20278,11 +22572,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -20299,11 +22593,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -20320,129 +22614,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -20450,19 +22712,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20477,7 +22733,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20491,7 +23043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -20505,7 +23057,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -20519,7 +23071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -20536,17 +23088,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -20554,29 +23111,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20585,17 +23209,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -20603,13 +23227,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20617,13 +23241,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -20631,13 +23276,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20652,90 +23332,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -20752,11 +23349,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20777,7 +23451,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20798,14 +23472,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20819,14 +23503,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20840,13 +23534,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -20861,10 +23639,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -20883,28 +23661,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20917,29 +23681,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20952,29 +23702,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20987,32 +23737,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -21022,15 +23758,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21043,8 +23793,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21064,8 +23814,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21081,18 +23866,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -21106,8 +24056,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21127,8 +24077,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -21148,8 +24098,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21169,8 +24119,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -21190,32 +24140,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -21225,32 +24161,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -21260,7 +24182,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21277,11 +24262,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21307,29 +24292,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21342,15 +24369,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21363,15 +24404,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21384,15 +24481,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21405,18 +24530,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -21426,29 +24565,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21461,8 +24614,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21482,11 +24635,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -21503,7 +24656,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21524,43 +24677,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21573,43 +24698,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21622,43 +24719,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21671,40 +24740,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -21720,36 +24807,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -21769,43 +24884,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21818,15 +24933,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21839,26 +24982,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -21874,7 +25025,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21888,7 +25366,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21905,46 +25383,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21958,7 +25401,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21975,16 +25418,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -21993,12 +25434,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -22010,33 +25449,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -22045,12 +25468,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -22066,11 +25616,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22087,11 +25658,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22108,11 +25700,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22129,343 +25721,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -22475,7 +25837,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22496,21 +25858,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22531,7 +25893,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22560,8 +25936,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -22574,7 +25950,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22588,7 +25964,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22602,7 +25978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -22623,8 +25999,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -22637,7 +26013,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -22649,20 +26025,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -22672,7 +26034,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -22686,7 +26048,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22702,33 +26064,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22742,7 +26090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22756,7 +26104,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -22768,20 +26116,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -22791,7 +26125,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22812,7 +26146,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22833,7 +26167,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -22847,8 +26258,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -22861,15 +26272,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -22878,11 +26289,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22899,65 +26310,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -22968,8 +26343,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -22978,92 +26353,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -23073,7 +26378,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -23094,7 +26399,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23115,29 +26420,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23150,29 +26455,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23185,8 +26490,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -23206,273 +26511,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -23489,11 +26528,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23510,11 +26549,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23531,11 +26570,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23552,33 +26591,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -23598,7 +26931,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -23612,7 +26945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23626,7 +26959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23640,7 +26973,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23654,7 +26987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23668,7 +27001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23682,7 +27015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23696,7 +27029,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23717,124 +27050,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23848,7 +27064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -23862,7 +27078,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23876,7 +27092,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -23893,11 +27109,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -23911,7 +27127,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -23925,7 +27141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -23939,7 +27155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23956,46 +27172,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24016,175 +27197,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24207,88 +27220,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -24299,7 +27235,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -24310,7 +27246,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -24321,8 +27257,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -24332,7 +27268,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -24343,8 +27279,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -24365,8 +27301,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -24387,8 +27323,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -24409,8 +27345,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -24431,8 +27367,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -24453,8 +27389,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -24475,7 +27411,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -24490,15 +27558,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -24507,11 +27575,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24532,7 +27600,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -24544,7 +27612,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -24556,7 +27624,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -24568,7 +27636,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24580,7 +27648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -24592,7 +27660,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24604,7 +27672,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -24616,7 +27684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24628,7 +27696,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -24647,7 +27715,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24668,7 +27736,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24689,7 +27757,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24731,7 +27799,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -24752,7 +27820,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -24766,7 +27834,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -24780,7 +27848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -24801,11 +27869,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -24815,11 +27883,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -24836,84 +27904,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -24923,7 +27967,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -24965,7 +28009,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -24979,7 +28023,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -24998,70 +28042,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25078,15 +28059,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -25099,16 +28080,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -25120,30 +28155,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -25152,12 +28173,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -25166,7 +28187,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25180,7 +28201,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25197,11 +28218,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -25215,7 +28236,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25229,7 +28250,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -25246,11 +28267,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25267,11 +28288,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25292,7 +28334,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25313,7 +28355,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -25334,7 +28376,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -25355,11 +28397,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25369,11 +28411,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25383,11 +28425,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25397,11 +28439,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25411,11 +28453,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25425,11 +28467,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25439,11 +28481,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25460,11 +28502,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25474,11 +28516,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -25495,11 +28537,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -25516,129 +28558,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -25646,19 +28656,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -25673,7 +28677,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25687,7 +28987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -25701,7 +29001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -25715,7 +29015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -25732,17 +29032,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -25750,29 +29055,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -25781,17 +29153,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -25799,13 +29171,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -25813,13 +29185,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -25827,13 +29220,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -25848,90 +29276,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -25948,11 +29293,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25973,7 +29395,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -25994,14 +29416,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26015,14 +29447,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26036,13 +29478,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -26057,10 +29583,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -26079,28 +29605,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26113,29 +29625,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26148,29 +29646,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26183,32 +29681,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -26218,15 +29702,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26239,8 +29737,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26260,8 +29758,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26277,18 +29810,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26302,8 +30000,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26323,8 +30021,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -26344,8 +30042,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26365,8 +30063,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -26386,32 +30084,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -26421,32 +30105,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -26456,7 +30126,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26473,11 +30206,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26503,29 +30236,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26538,15 +30313,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26559,15 +30348,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26580,15 +30425,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26601,18 +30474,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -26622,29 +30509,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26657,8 +30558,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26678,11 +30579,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -26699,7 +30600,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -26720,43 +30621,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26769,43 +30642,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26818,43 +30663,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26867,40 +30684,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -26916,36 +30751,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -26965,43 +30828,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27014,15 +30877,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27035,26 +30926,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -27070,7 +30969,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27084,7 +31310,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27101,46 +31327,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27154,7 +31345,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27171,16 +31362,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -27189,12 +31378,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -27206,33 +31393,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27241,12 +31412,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -27262,11 +31560,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27283,11 +31602,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -27304,11 +31644,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -27325,343 +31665,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -27671,7 +31781,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27692,21 +31802,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27727,7 +31837,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27756,8 +31880,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -27770,7 +31894,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27784,7 +31908,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27798,7 +31922,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -27819,8 +31943,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -27833,7 +31957,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -27845,20 +31969,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -27868,7 +31978,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -27882,7 +31992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27898,33 +32008,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27938,7 +32034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27952,7 +32048,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -27964,20 +32060,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -27987,7 +32069,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28008,7 +32090,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28029,7 +32111,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -28043,8 +32202,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -28057,15 +32216,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -28074,11 +32233,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28095,65 +32254,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -28164,8 +32287,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -28174,92 +32297,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -28269,7 +32322,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -28290,7 +32343,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28311,29 +32364,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -28346,29 +32399,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -28381,8 +32434,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -28402,273 +32455,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -28685,11 +32472,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28706,11 +32493,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28727,11 +32514,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28748,33 +32535,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -28794,7 +32875,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -28808,7 +32889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28822,7 +32903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28836,7 +32917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28850,7 +32931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28864,7 +32945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -28878,7 +32959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -28892,7 +32973,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28913,124 +32994,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29044,7 +33008,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29058,7 +33022,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -29072,7 +33036,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -29089,11 +33053,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -29107,7 +33071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29121,7 +33085,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -29135,7 +33099,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29152,46 +33116,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29212,175 +33141,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29403,88 +33164,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -29495,7 +33179,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -29506,7 +33190,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -29517,8 +33201,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -29528,7 +33212,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -29539,8 +33223,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -29561,8 +33245,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -29583,8 +33267,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -29605,8 +33289,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -29627,8 +33311,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -29649,8 +33333,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -29671,7 +33355,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -29686,15 +33502,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -29703,11 +33519,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29728,7 +33544,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -29740,7 +33556,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -29752,7 +33568,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29764,7 +33580,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29776,7 +33592,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -29788,7 +33604,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29800,7 +33616,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -29812,7 +33628,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29824,7 +33640,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -29843,7 +33659,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29864,7 +33680,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29885,7 +33701,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29927,7 +33743,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29948,7 +33764,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29962,7 +33778,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -29976,7 +33792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -29997,11 +33813,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30011,11 +33827,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30032,84 +33848,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -30119,7 +33911,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -30161,7 +33953,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -30175,7 +33967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -30194,70 +33986,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30274,15 +34003,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -30295,16 +34024,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -30316,30 +34099,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -30348,12 +34117,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -30362,7 +34131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30376,7 +34145,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30393,11 +34162,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -30411,7 +34180,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30425,7 +34194,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -30442,11 +34211,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30463,11 +34232,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30488,7 +34278,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30509,7 +34299,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -30530,7 +34320,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -30551,11 +34341,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30565,11 +34355,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30579,11 +34369,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30593,11 +34383,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30607,11 +34397,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30621,11 +34411,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30635,11 +34425,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30656,11 +34446,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30670,11 +34460,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -30691,11 +34481,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -30712,129 +34502,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -30842,19 +34600,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -30869,7 +34621,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30883,7 +34931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -30897,7 +34945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -30911,7 +34959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -30928,17 +34976,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -30946,29 +34999,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -30977,17 +35097,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -30995,13 +35115,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -31009,13 +35129,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -31023,13 +35164,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -31044,90 +35220,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -31144,11 +35237,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31169,7 +35339,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -31190,14 +35360,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -31211,14 +35391,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -31232,13 +35422,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -31253,10 +35527,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -31275,28 +35549,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31309,29 +35569,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31344,29 +35590,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31379,32 +35625,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -31414,15 +35646,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31435,8 +35681,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31456,8 +35702,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31473,18 +35754,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -31498,8 +35944,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31519,8 +35965,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -31540,8 +35986,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31561,8 +36007,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -31582,32 +36028,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -31617,32 +36049,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -31652,7 +36070,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31669,11 +36150,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31699,29 +36180,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31734,15 +36257,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31755,15 +36292,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31776,15 +36369,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31797,18 +36418,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -31818,29 +36453,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31853,8 +36502,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -31874,11 +36523,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -31895,7 +36544,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31916,43 +36565,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31965,43 +36586,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32014,43 +36607,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32063,40 +36628,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -32112,36 +36695,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -32161,43 +36772,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32210,15 +36821,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32231,26 +36870,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -32266,7 +36913,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32280,7 +37254,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32297,46 +37271,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32350,7 +37289,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32367,16 +37306,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -32385,12 +37322,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -32402,33 +37337,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32437,12 +37356,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -32458,11 +37504,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32479,11 +37546,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32500,11 +37588,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32521,343 +37609,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -32867,7 +37725,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -32888,21 +37746,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32923,7 +37781,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -32952,8 +37824,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -32966,7 +37838,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -32980,7 +37852,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -32994,7 +37866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -33015,8 +37887,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33029,7 +37901,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -33041,20 +37913,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -33064,7 +37922,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -33078,7 +37936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33094,33 +37952,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33134,7 +37978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33148,7 +37992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -33160,20 +38004,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -33183,7 +38013,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33204,7 +38034,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33225,7 +38055,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -33239,8 +38146,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33253,15 +38160,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33270,11 +38177,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33291,65 +38198,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -33360,8 +38231,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -33370,92 +38241,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -33465,7 +38266,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -33486,7 +38287,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33507,29 +38308,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33542,29 +38343,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33577,8 +38378,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33598,273 +38399,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -33881,11 +38416,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33902,11 +38437,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33923,11 +38458,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33944,33 +38479,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -33990,7 +38819,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34004,7 +38833,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34018,7 +38847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34032,7 +38861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34046,7 +38875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34060,7 +38889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34074,7 +38903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34088,7 +38917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34109,124 +38938,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34240,7 +38952,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34254,7 +38966,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34268,7 +38980,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -34285,11 +38997,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -34303,7 +39015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34317,7 +39029,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -34331,7 +39043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34348,46 +39060,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34408,175 +39085,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34599,88 +39108,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -34691,7 +39123,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -34702,7 +39134,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -34713,8 +39145,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -34724,7 +39156,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -34735,8 +39167,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -34757,8 +39189,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -34779,8 +39211,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -34801,8 +39233,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -34823,8 +39255,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -34845,8 +39277,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -34867,7 +39299,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -34882,15 +39446,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -34899,11 +39463,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34924,7 +39488,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -34936,7 +39500,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -34948,7 +39512,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -34960,7 +39524,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34972,7 +39536,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -34984,7 +39548,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -34996,7 +39560,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -35008,7 +39572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35020,7 +39584,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -35039,7 +39603,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35060,7 +39624,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35081,7 +39645,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35123,7 +39687,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -35144,7 +39708,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -35158,7 +39722,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -35172,7 +39736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35193,11 +39757,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35207,11 +39771,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35228,84 +39792,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -35315,7 +39855,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -35357,7 +39897,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -35371,7 +39911,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -35390,70 +39930,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35470,15 +39947,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -35491,16 +39968,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -35512,30 +40043,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -35544,12 +40061,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -35558,7 +40075,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35572,7 +40089,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35589,11 +40106,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -35607,7 +40124,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -35621,7 +40138,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -35638,11 +40155,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35659,11 +40176,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35684,7 +40222,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35705,7 +40243,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -35726,7 +40264,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -35747,11 +40285,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35761,11 +40299,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35775,11 +40313,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35789,11 +40327,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35803,11 +40341,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35817,11 +40355,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35831,11 +40369,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35852,11 +40390,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35866,11 +40404,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -35887,11 +40425,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -35908,129 +40446,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -36038,19 +40544,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36065,7 +40565,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36079,7 +40875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -36093,7 +40889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -36107,7 +40903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -36124,17 +40920,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -36142,29 +40943,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36173,17 +41041,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -36191,13 +41059,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36205,13 +41073,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -36219,13 +41108,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36240,90 +41164,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -36340,11 +41181,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36365,7 +41283,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36386,14 +41304,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36407,14 +41335,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36428,13 +41366,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -36449,10 +41471,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -36471,28 +41493,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36505,29 +41513,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36540,29 +41534,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36575,32 +41569,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -36610,15 +41590,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36631,8 +41625,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36652,8 +41646,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36669,18 +41698,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36694,8 +41888,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36715,8 +41909,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -36736,8 +41930,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -36757,8 +41951,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -36778,32 +41972,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -36813,32 +41993,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -36848,7 +42014,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36865,11 +42094,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36895,29 +42124,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36930,15 +42201,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36951,15 +42236,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36972,15 +42313,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36993,18 +42362,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -37014,29 +42397,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37049,8 +42446,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -37070,11 +42467,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -37091,7 +42488,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37112,43 +42509,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37161,43 +42530,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37210,43 +42551,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37259,40 +42572,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -37308,36 +42639,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -37357,43 +42716,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37406,15 +42765,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37427,26 +42814,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -37462,7 +42857,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37476,7 +43198,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37493,46 +43215,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37546,7 +43233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37563,16 +43250,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -37581,12 +43266,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -37598,33 +43281,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37633,12 +43300,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -37654,11 +43448,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37675,11 +43490,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -37696,11 +43532,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -37717,343 +43553,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -38063,7 +43669,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38084,21 +43690,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38119,7 +43725,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38148,8 +43768,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -38162,7 +43782,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38176,7 +43796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38190,7 +43810,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -38211,8 +43831,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -38225,7 +43845,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -38237,20 +43857,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -38260,7 +43866,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -38274,7 +43880,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38290,33 +43896,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38330,7 +43922,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38344,7 +43936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -38356,20 +43948,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -38379,7 +43957,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38400,7 +43978,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38421,7 +43999,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -38435,8 +44090,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -38449,15 +44104,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -38466,11 +44121,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -38487,65 +44142,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -38556,8 +44175,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -38566,92 +44185,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -38661,7 +44210,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -38682,7 +44231,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38703,29 +44252,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -38738,29 +44287,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -38773,8 +44322,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -38794,273 +44343,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -39077,11 +44360,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39098,11 +44381,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39119,11 +44402,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39140,33 +44423,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -39186,7 +44763,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -39200,7 +44777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39214,7 +44791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39228,7 +44805,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39242,7 +44819,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39256,7 +44833,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39270,7 +44847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -39284,7 +44861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39305,124 +44882,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39436,7 +44896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -39450,7 +44910,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39464,7 +44924,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -39481,11 +44941,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -39499,7 +44959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -39513,7 +44973,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -39527,7 +44987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -39544,46 +45004,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -39604,175 +45029,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39795,88 +45052,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -39887,7 +45067,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -39898,7 +45078,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -39909,8 +45089,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -39920,7 +45100,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -39931,8 +45111,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -39953,8 +45133,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -39975,8 +45155,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -39997,8 +45177,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -40019,8 +45199,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -40041,8 +45221,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -40063,7 +45243,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -40078,15 +45390,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -40095,11 +45407,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -40120,7 +45432,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -40132,7 +45444,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -40144,7 +45456,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -40156,7 +45468,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40168,7 +45480,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -40180,7 +45492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40192,7 +45504,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -40204,7 +45516,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40216,7 +45528,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -40235,7 +45547,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40256,7 +45568,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40277,7 +45589,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -40319,7 +45631,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -40340,7 +45652,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -40354,7 +45666,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -40368,7 +45680,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40389,11 +45701,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40403,11 +45715,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40424,84 +45736,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -40511,7 +45799,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -40553,7 +45841,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -40567,7 +45855,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -40586,70 +45874,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40666,15 +45891,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -40687,16 +45912,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -40708,30 +45987,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -40740,12 +46005,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -40754,7 +46019,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40768,7 +46033,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40785,11 +46050,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -40803,7 +46068,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -40817,7 +46082,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -40834,11 +46099,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40855,11 +46120,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40880,7 +46166,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -40901,7 +46187,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -40922,7 +46208,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -40943,11 +46229,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40957,11 +46243,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40971,11 +46257,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40985,11 +46271,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -40999,11 +46285,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41013,11 +46299,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41027,11 +46313,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41048,11 +46334,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41062,11 +46348,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -41083,11 +46369,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -41104,129 +46390,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -41234,19 +46488,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -41261,7 +46509,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -41275,7 +46819,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -41289,7 +46833,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -41303,7 +46847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -41320,17 +46864,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -41338,29 +46887,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41369,17 +46985,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -41387,13 +47003,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -41401,13 +47017,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -41415,13 +47052,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -41436,90 +47108,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -41536,11 +47125,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -41561,7 +47227,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -41582,14 +47248,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -41603,14 +47279,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -41624,13 +47310,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -41645,10 +47415,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -41667,28 +47437,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41701,29 +47457,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41736,29 +47478,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41771,32 +47513,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -41806,15 +47534,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -41827,8 +47569,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41848,8 +47590,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41865,18 +47642,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -41890,8 +47832,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41911,8 +47853,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -41932,8 +47874,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -41953,8 +47895,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -41974,32 +47916,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -42009,32 +47937,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -42044,7 +47958,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42061,11 +48038,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42091,29 +48068,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42126,15 +48145,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42147,15 +48180,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42168,15 +48257,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42189,18 +48306,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -42210,29 +48341,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42245,8 +48390,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -42266,11 +48411,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -42287,7 +48432,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -42308,43 +48453,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42357,43 +48474,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42406,43 +48495,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42455,40 +48516,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -42504,36 +48583,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -42553,43 +48660,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42602,15 +48709,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42623,26 +48758,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -42658,7 +48801,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42672,7 +49142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42689,46 +49159,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42742,7 +49177,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -42759,16 +49194,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -42777,12 +49210,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -42794,33 +49225,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -42829,12 +49244,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -42850,11 +49392,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -42871,11 +49434,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -42892,11 +49476,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -42913,343 +49497,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -43259,7 +49613,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43280,21 +49634,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43315,7 +49669,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43344,8 +49712,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -43358,7 +49726,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43372,7 +49740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43386,7 +49754,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -43407,8 +49775,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -43421,7 +49789,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -43433,20 +49801,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -43456,7 +49810,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -43470,7 +49824,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43486,33 +49840,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43526,7 +49866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43540,7 +49880,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -43552,20 +49892,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -43575,7 +49901,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43596,7 +49922,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43617,7 +49943,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -43631,8 +50034,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -43645,15 +50048,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -43662,11 +50065,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -43683,65 +50086,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -43752,8 +50119,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -43762,92 +50129,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -43857,7 +50154,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -43878,7 +50175,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -43899,29 +50196,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -43934,29 +50231,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -43969,8 +50266,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -43990,273 +50287,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -44273,11 +50304,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44294,11 +50325,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44315,11 +50346,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44336,33 +50367,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -44382,7 +50707,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -44396,7 +50721,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44410,7 +50735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44424,7 +50749,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44438,7 +50763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44452,7 +50777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44466,7 +50791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -44480,7 +50805,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44501,124 +50826,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44632,7 +50840,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -44646,7 +50854,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44660,7 +50868,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -44677,11 +50885,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -44695,7 +50903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -44709,7 +50917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -44723,7 +50931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -44740,46 +50948,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -44800,175 +50973,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -44991,88 +50996,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -45083,7 +51011,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -45094,7 +51022,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -45105,8 +51033,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -45116,7 +51044,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -45127,8 +51055,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -45149,8 +51077,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -45171,8 +51099,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -45193,8 +51121,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -45215,8 +51143,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -45237,8 +51165,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -45259,7 +51187,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -45274,15 +51334,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -45291,11 +51351,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -45316,7 +51376,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -45328,7 +51388,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -45340,7 +51400,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -45352,7 +51412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45364,7 +51424,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -45376,7 +51436,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45388,7 +51448,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -45400,7 +51460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45412,7 +51472,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -45431,7 +51491,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45452,7 +51512,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45473,7 +51533,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -45515,7 +51575,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -45536,7 +51596,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -45550,7 +51610,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -45564,7 +51624,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -45585,11 +51645,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -45599,11 +51659,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -45620,84 +51680,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -45707,7 +51743,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -45749,7 +51785,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -45763,7 +51799,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -45782,70 +51818,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -45862,15 +51835,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -45883,16 +51856,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -45904,30 +51931,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -45936,12 +51949,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -45950,7 +51963,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -45964,7 +51977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -45981,11 +51994,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -45999,7 +52012,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -46013,7 +52026,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -46030,11 +52043,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46051,11 +52064,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46076,7 +52110,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46097,7 +52131,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -46118,7 +52152,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -46139,11 +52173,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46153,11 +52187,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46167,11 +52201,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46181,11 +52215,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46195,11 +52229,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46209,11 +52243,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46223,11 +52257,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46244,11 +52278,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46258,11 +52292,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -46279,11 +52313,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -46300,129 +52334,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -46430,19 +52432,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -46457,7 +52453,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46471,7 +52763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -46485,7 +52777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -46499,7 +52791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -46516,17 +52808,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -46534,29 +52831,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46565,17 +52929,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -46583,13 +52947,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -46597,13 +52961,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -46611,13 +52996,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -46632,90 +53052,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -46732,11 +53069,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -46757,7 +53171,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -46778,14 +53192,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -46799,14 +53223,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -46820,13 +53254,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -46841,10 +53359,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -46863,28 +53381,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46897,29 +53401,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46932,29 +53422,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -46967,32 +53457,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -47002,15 +53478,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47023,8 +53513,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47044,8 +53534,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47061,18 +53586,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -47086,8 +53776,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47107,8 +53797,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -47128,8 +53818,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47149,8 +53839,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -47170,32 +53860,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -47205,32 +53881,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -47240,7 +53902,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47257,11 +53982,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47287,29 +54012,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47322,15 +54089,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47343,15 +54124,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47364,15 +54201,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47385,18 +54250,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -47406,29 +54285,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47441,8 +54334,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47462,11 +54355,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -47483,7 +54376,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -47504,43 +54397,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47553,43 +54418,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47602,43 +54439,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47651,40 +54460,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -47700,36 +54527,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -47749,43 +54604,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47798,15 +54653,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -47819,26 +54702,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -47854,7 +54745,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47868,7 +55086,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47885,46 +55103,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47938,7 +55121,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -47955,16 +55138,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -47973,12 +55154,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -47990,33 +55169,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -48025,12 +55188,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -48046,11 +55336,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -48067,11 +55378,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -48088,11 +55420,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -48109,343 +55441,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -48455,7 +55557,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48476,21 +55578,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48511,7 +55613,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48540,8 +55656,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -48554,7 +55670,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48568,7 +55684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48582,7 +55698,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -48603,8 +55719,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -48617,7 +55733,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -48629,20 +55745,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -48652,7 +55754,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -48666,7 +55768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48682,33 +55784,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48722,7 +55810,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48736,7 +55824,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -48748,20 +55836,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -48771,7 +55845,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48792,7 +55866,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48813,7 +55887,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -48827,8 +55978,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -48841,15 +55992,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -48858,11 +56009,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -48879,65 +56030,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -48948,8 +56063,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -48958,92 +56073,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -49053,7 +56098,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -49074,7 +56119,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49095,29 +56140,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -49130,29 +56175,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -49165,8 +56210,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -49186,273 +56231,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -49469,11 +56248,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49490,11 +56269,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49511,11 +56290,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49532,33 +56311,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -49578,7 +56651,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -49592,7 +56665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49606,7 +56679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49620,7 +56693,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49634,7 +56707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49648,7 +56721,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49662,7 +56735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -49676,7 +56749,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49697,124 +56770,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -49828,7 +56784,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -49842,7 +56798,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49856,7 +56812,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -49873,11 +56829,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -49891,7 +56847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -49905,7 +56861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -49919,7 +56875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -49936,46 +56892,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -49996,175 +56917,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -50187,88 +56940,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -50279,7 +56955,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -50290,7 +56966,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -50301,8 +56977,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -50312,7 +56988,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -50323,8 +56999,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -50345,8 +57021,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -50367,8 +57043,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -50389,8 +57065,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -50411,8 +57087,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -50433,8 +57109,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -50455,7 +57131,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -50470,15 +57278,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -50487,11 +57295,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -50512,7 +57320,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -50524,7 +57332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -50536,7 +57344,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -50548,7 +57356,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50560,7 +57368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -50572,7 +57380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50584,7 +57392,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -50596,7 +57404,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50608,7 +57416,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -50627,7 +57435,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50648,7 +57456,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50669,7 +57477,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -50711,7 +57519,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -50732,7 +57540,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -50746,7 +57554,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -50760,7 +57568,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -50781,11 +57589,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -50795,11 +57603,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -50816,84 +57624,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -50903,7 +57687,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -50945,7 +57729,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -50959,7 +57743,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -50978,70 +57762,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51058,15 +57779,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -51079,16 +57800,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -51100,30 +57875,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -51132,12 +57893,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -51146,7 +57907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51160,7 +57921,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51177,11 +57938,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -51195,7 +57956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51209,7 +57970,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -51226,11 +57987,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51247,11 +58008,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51272,7 +58054,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51293,7 +58075,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -51314,7 +58096,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -51335,11 +58117,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51349,11 +58131,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51363,11 +58145,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51377,11 +58159,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51391,11 +58173,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51405,11 +58187,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51419,11 +58201,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51440,11 +58222,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51454,11 +58236,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -51475,11 +58257,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -51496,129 +58278,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -51626,19 +58376,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -51653,7 +58397,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51667,7 +58707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -51681,7 +58721,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -51695,7 +58735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -51712,17 +58752,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -51730,29 +58775,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -51761,17 +58873,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -51779,13 +58891,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -51793,13 +58905,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -51807,13 +58940,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -51828,90 +58996,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -51928,11 +59013,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -51953,7 +59115,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -51974,14 +59136,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -51995,14 +59167,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -52016,13 +59198,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -52037,10 +59303,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -52059,28 +59325,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52093,29 +59345,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52128,29 +59366,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52163,32 +59401,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -52198,15 +59422,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52219,8 +59457,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52240,8 +59478,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52257,18 +59530,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -52282,8 +59720,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52303,8 +59741,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -52324,8 +59762,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52345,8 +59783,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -52366,32 +59804,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -52401,32 +59825,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -52436,7 +59846,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -52453,11 +59926,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -52483,29 +59956,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52518,15 +60033,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52539,15 +60068,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52560,15 +60145,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52581,18 +60194,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -52602,29 +60229,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52637,8 +60278,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52658,11 +60299,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -52679,7 +60320,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -52700,43 +60341,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52749,43 +60362,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52798,43 +60383,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52847,40 +60404,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -52896,36 +60471,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -52945,43 +60548,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -52994,15 +60597,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -53015,26 +60646,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -53050,7 +60689,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53064,7 +61030,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53081,46 +61047,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53134,7 +61065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -53151,16 +61082,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -53169,12 +61098,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -53186,33 +61113,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -53221,12 +61132,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -53242,11 +61280,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -53263,11 +61322,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -53284,11 +61364,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -53305,343 +61385,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -53651,7 +61501,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53672,21 +61522,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -53707,7 +61557,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53736,8 +61600,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -53750,7 +61614,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53764,7 +61628,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53778,7 +61642,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -53799,8 +61663,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -53813,7 +61677,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -53825,20 +61689,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -53848,7 +61698,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -53862,7 +61712,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53878,33 +61728,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53918,7 +61754,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53932,7 +61768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -53944,20 +61780,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -53967,7 +61789,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -53988,7 +61810,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -54009,7 +61831,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -54023,8 +61922,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -54037,15 +61936,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -54054,11 +61953,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -54075,65 +61974,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -54144,8 +62007,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -54154,92 +62017,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -54249,7 +62042,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -54270,7 +62063,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54291,29 +62084,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -54326,29 +62119,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -54361,8 +62154,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -54382,273 +62175,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -54665,11 +62192,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54686,11 +62213,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54707,11 +62234,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54728,33 +62255,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -54774,7 +62595,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -54788,7 +62609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54802,7 +62623,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54816,7 +62637,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54830,7 +62651,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54844,7 +62665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -54858,7 +62679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -54872,7 +62693,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -54893,124 +62714,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -55024,7 +62728,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55038,7 +62742,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -55052,7 +62756,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -55069,11 +62773,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -55087,7 +62791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55101,7 +62805,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -55115,7 +62819,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55132,46 +62836,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55192,175 +62861,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -55383,88 +62884,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -55475,7 +62899,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -55486,7 +62910,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -55497,8 +62921,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -55508,7 +62932,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -55519,8 +62943,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -55541,8 +62965,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -55563,8 +62987,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -55585,8 +63009,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -55607,8 +63031,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -55629,8 +63053,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -55651,7 +63075,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -55666,15 +63222,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -55683,11 +63239,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -55708,7 +63264,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -55720,7 +63276,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -55732,7 +63288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55744,7 +63300,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55756,7 +63312,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -55768,7 +63324,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55780,7 +63336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -55792,7 +63348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55804,7 +63360,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -55823,7 +63379,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55844,7 +63400,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55865,7 +63421,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -55907,7 +63463,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -55928,7 +63484,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -55942,7 +63498,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -55956,7 +63512,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -55977,11 +63533,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -55991,11 +63547,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56012,84 +63568,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -56099,7 +63631,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -56141,7 +63673,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -56155,7 +63687,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -56174,70 +63706,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56254,15 +63723,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -56275,16 +63744,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -56296,30 +63819,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -56328,12 +63837,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -56342,7 +63851,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56356,7 +63865,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56373,11 +63882,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -56391,7 +63900,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56405,7 +63914,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -56422,11 +63931,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56443,11 +63952,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56468,7 +63998,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56489,7 +64019,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -56510,7 +64040,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -56531,11 +64061,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56545,11 +64075,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56559,11 +64089,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56573,11 +64103,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56587,11 +64117,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56601,11 +64131,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56615,11 +64145,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56636,11 +64166,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56650,11 +64180,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -56671,11 +64201,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -56692,129 +64222,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -56822,19 +64320,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -56849,7 +64341,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -56863,7 +64651,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -56877,7 +64665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -56891,7 +64679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -56908,17 +64696,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -56926,29 +64719,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -56957,17 +64817,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -56975,13 +64835,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -56989,13 +64849,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -57003,13 +64884,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -57024,90 +64940,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -57124,11 +64957,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -57149,7 +65059,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -57170,14 +65080,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -57191,14 +65111,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -57212,13 +65142,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -57233,10 +65247,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -57255,28 +65269,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57289,29 +65289,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57324,29 +65310,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57359,32 +65345,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -57394,15 +65366,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57415,8 +65401,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57436,8 +65422,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57453,18 +65474,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -57478,8 +65664,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57499,8 +65685,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -57520,8 +65706,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57541,8 +65727,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -57562,32 +65748,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -57597,32 +65769,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -57632,7 +65790,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -57649,11 +65870,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -57679,29 +65900,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 59,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
+              "position_offset": 158,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 144,
-              "field_name": "hdr.inner_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 149,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 141,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 155,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57714,15 +65977,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
-              "field_name": "hdr.ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 69,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 50,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57735,15 +66012,71 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 97,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
+              "position_offset": 217,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 195,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 200,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 214,
+              "field_name": "hdr.ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57756,15 +66089,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 55,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
+              "position_offset": 157,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 150,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 145,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57777,18 +66138,32 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
-              "field_name": "fabric_metadata.ipv4_dst_addr",
-              "field_msb": 31,
+              "position_offset": 16,
+              "field_name": "fabric_metadata.ip_proto",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
+            },
+            {
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": 7,
+              "live_end": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -57798,29 +66173,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.next_id",
-              "field_msb": 31,
+              "position_offset": 216,
+              "field_name": "hdr.ipv4.ttl",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 11,
+              "live_start": "parser",
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 0,
+              "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.inner_ipv4.src_addr",
-              "field_msb": 31,
+              "position_offset": 209,
+              "field_name": "hdr.ipv4.protocol",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 204,
+              "field_name": "hdr.ipv4.hdr_checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57833,8 +66222,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 195,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 151,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -57854,11 +66243,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 111,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "position_offset": 210,
+              "field_name": "hdr.ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
@@ -57875,7 +66264,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
+              "position_offset": 21,
               "field_name": "fabric_metadata.ipv4_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -57896,43 +66285,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "hdr.inner_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 137,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 149,
-              "field_name": "hdr.inner_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 150,
-              "field_name": "hdr.inner_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57945,43 +66306,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 191,
-              "field_name": "hdr.ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 196,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 186,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 187,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -57994,43 +66327,15 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 107,
-              "field_name": "hdr.gtpu_ipv4.identification",
-              "field_msb": 15,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.ipv4_dst_addr",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 102,
-              "field_name": "hdr.gtpu_ipv4.flags",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 103,
-              "field_name": "hdr.gtpu_ipv4.frag_offset",
-              "field_msb": 12,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58043,40 +66348,58 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.inner_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 166,
+              "field_name": "hdr.inner_tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 157,
-              "field_name": "hdr.inner_ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 170,
+              "field_name": "hdr.inner_tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 169,
+              "field_name": "hdr.inner_tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 165,
+              "field_name": "hdr.inner_tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "hdr.inner_ipv4.hdr_checksum",
+              "position_offset": 179,
+              "field_name": "hdr.inner_tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -58092,36 +66415,64 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 201,
-              "field_name": "hdr.ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 234,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
-              "phv_lsb": 24,
+              "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 194,
-              "field_name": "hdr.ipv4.protocol",
-              "field_msb": 7,
+              "position_offset": 238,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 23,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 237,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 233,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 21,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 189,
-              "field_name": "hdr.ipv4.hdr_checksum",
+              "position_offset": 247,
+              "field_name": "hdr.tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -58141,43 +66492,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 117,
-              "field_name": "hdr.gtpu_ipv4.ttl",
-              "field_msb": 7,
+              "position_offset": 147,
+              "field_name": "hdr.inner_ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 31,
-              "phv_lsb": 24,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 110,
-              "field_name": "hdr.gtpu_ipv4.protocol",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 105,
-              "field_name": "hdr.gtpu_ipv4.hdr_checksum",
-              "field_msb": 15,
+              "position_offset": 142,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
-              "live_start": 1,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58190,15 +66541,43 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 37,
-              "field_name": "fabric_metadata.spgw.ctr_id",
-              "field_msb": 31,
+              "position_offset": 206,
+              "field_name": "hdr.ipv4.identification",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
               "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 201,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 202,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58211,26 +66590,34 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.inner_udp.sport",
-              "field_msb": 15,
+              "position_offset": 123,
+              "field_name": "hdr.inner_icmp.icmp_type",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 122,
+              "field_name": "hdr.inner_icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
               "phv_lsb": 16,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 168,
-              "field_name": "hdr.inner_udp.dport",
+              "position_offset": 120,
+              "field_name": "hdr.inner_icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -58246,7 +66633,334 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 240,
+              "position_offset": 243,
+              "field_name": "hdr.tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 235,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 187,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 183,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.tcp.dport",
+                "hdr.tcp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 107,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 34,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 175,
+              "field_name": "hdr.inner_tcp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "hdr.inner_tcp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 35,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 163,
+              "field_name": "hdr.inner_tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 177,
+              "field_name": "hdr.inner_tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 36,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 231,
+              "field_name": "hdr.tcp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 245,
+              "field_name": "hdr.tcp.urgent_ptr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 185,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 181,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 108,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 110,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.urgent_ptr",
+                "hdr.tcp.checksum",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 37,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 255,
               "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58260,7 +66974,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 236,
+              "position_offset": 251,
               "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58277,46 +66991,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 34,
+          "phv_number": 38,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 125,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 121,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 35,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 238,
+              "position_offset": 253,
               "field_name": "hdr.udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58330,7 +67009,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 249,
               "field_name": "hdr.udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -58347,16 +67026,14 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 36,
+          "phv_number": 39,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.inner_udp.len",
+              "position_offset": 124,
+              "field_name": "hdr.inner_icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
@@ -58365,12 +67042,10 @@
               "is_pov": false
             },
             {
-              "position_offset": 166,
-              "field_name": "hdr.inner_udp.checksum",
+              "position_offset": 126,
+              "field_name": "hdr.inner_icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
@@ -58382,33 +67057,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 37,
+          "phv_number": 40,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
+              "position_offset": 171,
+              "field_name": "hdr.inner_tcp.seq_no",
+              "field_msb": 31,
               "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
               "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 119,
-              "field_name": "hdr.gtpu_udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -58417,12 +67076,139 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 38,
+          "phv_number": 41,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu.teid",
+              "position_offset": 239,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 42,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 159,
+              "field_name": "hdr.inner_tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 43,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 227,
+              "field_name": "hdr.tcp.ack_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 112,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 44,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 45,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "mutually_exclusive_with": [],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 46,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 65,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "live_start": "parser",
@@ -58438,11 +67224,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 39,
+          "phv_number": 47,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 61,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 48,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 57,
               "field_name": "fabric_metadata.spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -58459,11 +67266,32 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 40,
+          "phv_number": 49,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 42,
+              "field_name": "fabric_metadata.spgw.ctr_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 50,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -58480,11 +67308,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 41,
+          "phv_number": 51,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -58501,343 +67329,113 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 42,
+          "phv_number": 52,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 99,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
-              "field_lsb": 16,
+              "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 4,
-              "phv_msb": 26,
-              "phv_lsb": 11,
+              "phv_msb": 31,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 258,
-                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 270,
-                  "header_name": "hdr.packet_out.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 260,
-                  "header_name": "hdr.ethernet.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 273,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 267,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 259,
-                  "header_name": "hdr.eth_type.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 269,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 271,
-                  "header_name": "hdr.tcp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 261,
-                  "header_name": "hdr.gtpu.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 9,
-                  "position_offset": 264,
-                  "header_name": "hdr.icmp.$valid",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 10,
-              "phv_lsb": 10,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 10,
-                  "position_offset": 262,
-                  "header_name": "hdr.gtpu_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
             }
           ],
           "word_bit_width": 32
         },
         {
-          "phv_number": 43,
+          "phv_number": 56,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 43,
-              "field_name": "fabric_metadata.spgw.far_id",
+              "position_offset": 36,
+              "field_name": "fabric_metadata.next_id",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": 5,
+              "live_end": 11,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 10,
+              "field_name": "fabric_metadata.inner_l4_dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 5,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 17,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": 7,
-              "live_end": 8,
+              "live_end": 3,
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 25,
-              "phv_lsb": 18,
+              "phv_msb": 15,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 56,
+              "field_name": "fabric_metadata.spgw.src_iface",
+              "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
+              "live_start": 0,
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 268,
-                  "header_name": "hdr.ipv4.$valid",
-                  "hidden": false
-                }
-              ]
-            },
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 57,
+          "container_type": "normal",
+          "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 31,
+              "field_lsb": 8,
+              "live_start": "parser",
+              "live_end": 4,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 23,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 58,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 27,
+              "field_name": "fabric_metadata.l4_dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 11,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 265,
-                  "header_name": "hdr.inner_ipv4.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 32
@@ -58847,7 +67445,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 251,
+              "position_offset": 266,
               "field_name": "ig_intr_md_for_dprsr.mirror_type",
               "field_msb": 2,
               "field_lsb": 0,
@@ -58868,21 +67466,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 257,
-              "field_name": "spgw_normalizer_hasReturned",
-              "field_msb": 0,
+              "position_offset": 46,
+              "field_name": "fabric_metadata.spgw.far_id",
+              "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 4,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 0,
+              "field_width": 4,
+              "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "compiler_generated_meta.mirror_source",
               "field_msb": 7,
               "field_lsb": 0,
@@ -58903,7 +67501,21 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 250,
+              "position_offset": 52,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_decap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 3,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 265,
               "field_name": "ig_intr_md_for_dprsr.drop_ctl",
               "field_msb": 2,
               "field_lsb": 0,
@@ -58932,8 +67544,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 272,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 281,
+                  "header_name": "hdr.ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -58946,7 +67558,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 245,
+              "position_offset": 260,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -58960,7 +67572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 242,
+              "position_offset": 257,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -58974,7 +67586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -58995,8 +67607,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 2,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "position_offset": 3,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59009,7 +67621,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 8,
@@ -59021,20 +67633,6 @@
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 67,
-              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
-              "field_msb": 9,
-              "field_lsb": 8,
-              "live_start": 7,
-              "live_end": 8,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 5,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -59044,7 +67642,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 74,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -59058,7 +67656,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 71,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59074,33 +67672,19 @@
             {
               "position_offset": 0,
               "field_name": "compiler_generated_meta.bridged_metadata.__pad_0",
-              "field_msb": 0,
+              "field_msb": 1,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 49,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
               "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 21,
+              "position_offset": 26,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59114,7 +67698,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 20,
+              "position_offset": 25,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59128,7 +67712,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "fabric_metadata.skip_forwarding",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59140,20 +67724,6 @@
               "phv_lsb": 1,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 42,
-              "field_name": "fabric_metadata.spgw.far_dropped",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": 5,
-              "live_end": 6,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -59163,7 +67733,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 246,
+              "position_offset": 261,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -59184,7 +67754,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 72,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 7,
               "field_lsb": 0,
@@ -59205,7 +67775,84 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 26,
+              "position_offset": 1,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 53,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 9,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 55,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 73,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -59219,8 +67866,8 @@
               "is_pov": false
             },
             {
-              "position_offset": 3,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_3",
+              "position_offset": 4,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_4",
               "field_msb": 3,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59233,15 +67880,15 @@
               "is_pov": false
             },
             {
-              "position_offset": 8,
-              "field_name": "fabric_metadata.fwd_type",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": 2,
-              "live_end": 7,
+              "position_offset": 75,
+              "field_name": "forwarding_routing_v4__metadata.forwarding_routing_v4_partition_index",
+              "field_msb": 9,
+              "field_lsb": 8,
+              "live_start": 7,
+              "live_end": 8,
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
+              "field_width": 2,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -59250,11 +67897,11 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 73,
+          "phv_number": 74,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 30,
+              "position_offset": 35,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -59271,65 +67918,29 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 74,
+          "phv_number": 75,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 50,
-              "field_name": "fabric_metadata.spgw.pdr_hit",
+              "position_offset": 41,
+              "field_name": "fabric_metadata.skip_next",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 4,
+              "live_end": 10,
               "mutually_exclusive_with": [],
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 256,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 0,
               "phv_msb": 1,
               "phv_lsb": 1,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 266,
-                  "header_name": "hdr.inner_udp.$valid",
-                  "hidden": false
-                }
-              ]
+              "is_compiler_generated": false,
+              "is_pov": false
             },
             {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -59340,8 +67951,8 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 263,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "position_offset": 277,
+                  "header_name": "hdr.inner_ipv4.$valid",
                   "hidden": false
                 }
               ]
@@ -59350,92 +67961,22 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 75,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 11,
-              "field_name": "fabric_metadata.ip_proto",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 11,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 76,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 36,
-              "field_name": "fabric_metadata.skip_next",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 10,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.spgw.direction",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 4,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
           "phv_number": 128,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "hdr.packet_out.egress_port",
               "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 1,
+              "live_end": 0,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 7,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 5,
-              "field_name": "compiler_generated_meta.mirror_id",
-              "field_msb": 9,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 9,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -59445,7 +67986,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 254,
+              "position_offset": 269,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -59466,7 +68007,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 252,
+              "position_offset": 267,
               "field_name": "ig_intr_md_for_tm.mcast_grp_a",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59487,29 +68028,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
+              "position_offset": 12,
+              "field_name": "fabric_metadata.inner_l4_sport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 3,
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 8,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 129,
-              "field_name": "hdr.icmp.icmp_code",
-              "field_msb": 7,
+              "position_offset": 6,
+              "field_name": "compiler_generated_meta.mirror_id",
+              "field_msb": 9,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
+              "field_width": 2,
+              "phv_msb": 9,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -59522,29 +68063,29 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 47,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
+              "position_offset": 2,
+              "field_name": "compiler_generated_meta.bridged_metadata.__pad_2",
+              "field_msb": 6,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 9,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 263,
+              "field_name": "ig_intr_md.ingress_port",
+              "field_msb": 8,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 162,
-              "field_name": "hdr.inner_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 8,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -59557,8 +68098,8 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 199,
-              "field_name": "hdr.ipv4.total_len",
+              "position_offset": 14,
+              "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59578,273 +68119,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 115,
-              "field_name": "hdr.gtpu_ipv4.total_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 135,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 165,
-              "field_name": "hdr.inner_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 156,
-              "field_name": "hdr.inner_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 143,
-              "field_name": "hdr.inner_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 148,
-              "field_name": "hdr.inner_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 1,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 136,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 202,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 193,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 180,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 185,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 137,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 118,
-              "field_name": "hdr.gtpu_ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 12,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 109,
-              "field_name": "hdr.gtpu_ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 11,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.gtpu_ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.gtpu_ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": 1,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 138,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 1,
-              "field_name": "compiler_generated_meta.bridged_metadata.__pad_1",
-              "field_msb": 6,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 15,
-              "phv_lsb": 9,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 248,
-              "field_name": "ig_intr_md.ingress_port",
-              "field_msb": 8,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 8,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 139,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 9,
-              "field_name": "fabric_metadata.ip_eth_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 140,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 26,
+              "position_offset": 31,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -59861,11 +68136,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 141,
+          "phv_number": 135,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 79,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59882,11 +68157,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 142,
+          "phv_number": 136,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 85,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59903,11 +68178,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 143,
+          "phv_number": 137,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 69,
+              "position_offset": 77,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -59924,33 +68199,327 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 163,
+          "phv_number": 138,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 24,
-              "field_name": "fabric_metadata.l4_sport",
-              "field_msb": 15,
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 11,
+              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
+              "field_width": 0,
+              "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 271,
+                  "header_name": "compiler_generated_meta.bridged_metadata.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 283,
+                  "header_name": "hdr.packet_out.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 273,
+                  "header_name": "hdr.ethernet.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 286,
+                  "header_name": "hdr.vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 280,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 272,
+                  "header_name": "hdr.eth_type.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 282,
+                  "header_name": "hdr.mpls.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 7,
+              "phv_lsb": 7,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 7,
+                  "position_offset": 284,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 8,
+              "phv_lsb": 8,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 8,
+                  "position_offset": 285,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 274,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 279,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 275,
+                  "header_name": "hdr.icmp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 278,
+                  "header_name": "hdr.inner_tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 276,
+                  "header_name": "hdr.inner_icmp.$valid",
+                  "hidden": false
+                }
+              ]
             }
           ],
           "word_bit_width": 16
         },
         {
-          "phv_number": 164,
+          "phv_number": 139,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 22,
-              "field_name": "fabric_metadata.l4_dport",
+              "position_offset": 29,
+              "field_name": "fabric_metadata.l4_sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -59970,7 +68539,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 103,
               "field_name": "hdr.gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
@@ -59984,7 +68553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 88,
+              "position_offset": 96,
               "field_name": "hdr.gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
@@ -59998,7 +68567,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 98,
               "field_name": "hdr.gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60012,7 +68581,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 83,
+              "position_offset": 91,
               "field_name": "hdr.gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60026,7 +68595,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 97,
               "field_name": "hdr.gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60040,7 +68609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 95,
               "field_name": "hdr.gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60054,7 +68623,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 86,
+              "position_offset": 94,
               "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60068,7 +68637,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 92,
               "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -60089,124 +68658,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 219,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 31,
-              "phv_lsb": 28,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 223,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 27,
-              "phv_lsb": 25,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 222,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 218,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 232,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 131,
-              "field_name": "hdr.icmp.identifier",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 133,
-              "field_name": "hdr.icmp.sequence_number",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 258,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 175,
+              "position_offset": 190,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -60220,7 +68672,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 177,
+              "position_offset": 192,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -60234,7 +68686,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 189,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60248,7 +68700,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 193,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -60265,11 +68717,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 259,
+          "phv_number": 258,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 204,
+              "position_offset": 219,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 0,
@@ -60283,7 +68735,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 208,
+              "position_offset": 223,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -60297,7 +68749,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 203,
+              "position_offset": 218,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -60311,7 +68763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 209,
+              "position_offset": 224,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60328,46 +68780,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 264,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 212,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.ack_no" ],
-              "field_width": 8,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 288,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 5,
               "field_name": "compiler_generated_meta.bridged_metadata.bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60388,175 +68805,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 220,
-              "field_name": "hdr.tcp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.checksum" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 127,
-              "field_name": "hdr.icmp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 321,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 228,
-              "field_name": "hdr.tcp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.sport" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 322,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 230,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 135,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 323,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 216,
-              "field_name": "hdr.tcp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 324,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 325,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 224,
-              "field_name": "hdr.tcp.seq_no",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 332,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 243,
+              "position_offset": 258,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -60579,88 +68828,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 19,
-              "field_name": "fabric_metadata.spgw.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 17,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 57,
-              "field_name": "hdr.gtpu.teid",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 18,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 91,
-              "field_name": "hdr.gtpu_udp.sport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 31,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 87,
-              "field_name": "hdr.gtpu_udp.dport",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 19,
-          "container_type": "normal",
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -60671,7 +68843,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 189,
+                  "position_offset": 238,
                   "header_name": "hdr.gtpu_ipv4.$valid",
                   "hidden": false
                 }
@@ -60682,7 +68854,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -60693,8 +68865,8 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 187,
-                  "header_name": "hdr.ethernet.$valid",
+                  "position_offset": 239,
+                  "header_name": "hdr.gtpu_udp.$valid",
                   "hidden": false
                 }
               ]
@@ -60704,7 +68876,7 @@
               "field_name": "POV",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
@@ -60715,8 +68887,8 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 192,
-                  "header_name": "hdr.inner_vlan_tag.$valid",
+                  "position_offset": 246,
+                  "header_name": "hdr.outer_gtpu.$valid",
                   "hidden": false
                 }
               ]
@@ -60737,8 +68909,8 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 186,
-                  "header_name": "hdr.eth_type.$valid",
+                  "position_offset": 236,
+                  "header_name": "hdr.ethernet.$valid",
                   "hidden": false
                 }
               ]
@@ -60759,8 +68931,8 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 193,
-                  "header_name": "hdr.ipv4.$valid",
+                  "position_offset": 250,
+                  "header_name": "hdr.vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -60781,8 +68953,8 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 196,
-                  "header_name": "hdr.tcp.$valid",
+                  "position_offset": 243,
+                  "header_name": "hdr.inner_vlan_tag.$valid",
                   "hidden": false
                 }
               ]
@@ -60803,8 +68975,8 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 197,
-                  "header_name": "hdr.udp.$valid",
+                  "position_offset": 235,
+                  "header_name": "hdr.eth_type.$valid",
                   "hidden": false
                 }
               ]
@@ -60825,8 +68997,8 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 188,
-                  "header_name": "hdr.gtpu.$valid",
+                  "position_offset": 245,
+                  "header_name": "hdr.mpls.$valid",
                   "hidden": false
                 }
               ]
@@ -60847,7 +69019,139 @@
               "pov_headers": [
                 {
                   "bit_index": 8,
-                  "position_offset": 191,
+                  "position_offset": 244,
+                  "header_name": "hdr.ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 9,
+              "phv_lsb": 9,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 9,
+                  "position_offset": 248,
+                  "header_name": "hdr.tcp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 10,
+              "phv_lsb": 10,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 10,
+                  "position_offset": 249,
+                  "header_name": "hdr.udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 11,
+              "phv_lsb": 11,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 11,
+                  "position_offset": 237,
+                  "header_name": "hdr.gtpu.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 12,
+              "phv_lsb": 12,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 12,
+                  "position_offset": 241,
+                  "header_name": "hdr.inner_ipv4.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 13,
+              "phv_lsb": 13,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 13,
+                  "position_offset": 242,
+                  "header_name": "hdr.inner_udp.$valid",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 0,
+              "phv_msb": 14,
+              "phv_lsb": 14,
+              "is_compiler_generated": true,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 14,
+                  "position_offset": 240,
                   "header_name": "hdr.icmp.$valid",
                   "hidden": false
                 }
@@ -60862,15 +69166,15 @@
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 0,
-              "phv_msb": 9,
-              "phv_lsb": 9,
+              "phv_msb": 15,
+              "phv_lsb": 15,
               "is_compiler_generated": true,
               "is_pov": true,
               "pov_headers": [
                 {
-                  "bit_index": 9,
-                  "position_offset": 190,
-                  "header_name": "hdr.gtpu_udp.$valid",
+                  "bit_index": 15,
+                  "position_offset": 247,
+                  "header_name": "hdr.packet_in.$valid",
                   "hidden": false
                 }
               ]
@@ -60879,11 +69183,11 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 20,
+          "phv_number": 17,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 13,
               "field_name": "fabric_metadata.spgw.ctr_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -60904,7 +69208,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 62,
+              "position_offset": 67,
               "field_name": "hdr.gtpu_ipv4.dscp",
               "field_msb": 5,
               "field_lsb": 0,
@@ -60916,7 +69220,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 72,
               "field_name": "hdr.gtpu_ipv4.ecn",
               "field_msb": 1,
               "field_lsb": 0,
@@ -60928,7 +69232,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 68,
+              "position_offset": 73,
               "field_name": "hdr.gtpu_ipv4.flags",
               "field_msb": 2,
               "field_lsb": 0,
@@ -60940,7 +69244,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60952,7 +69256,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 69,
+              "position_offset": 74,
               "field_name": "hdr.gtpu_ipv4.frag_offset",
               "field_msb": 12,
               "field_lsb": 8,
@@ -60964,7 +69268,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -60976,7 +69280,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 71,
+              "position_offset": 76,
               "field_name": "hdr.gtpu_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -60988,7 +69292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61000,7 +69304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 90,
               "field_name": "hdr.gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 8,
@@ -61019,7 +69323,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 12,
               "field_name": "fabric_metadata.mpls_ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61040,7 +69344,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 144,
+              "position_offset": 180,
               "field_name": "hdr.mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61061,7 +69365,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 172,
               "field_name": "hdr.ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -61103,7 +69407,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -61124,7 +69428,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -61138,7 +69442,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 143,
+              "position_offset": 179,
               "field_name": "hdr.mpls.tc",
               "field_msb": 2,
               "field_lsb": 0,
@@ -61152,7 +69456,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 174,
               "field_name": "hdr.mpls.bos",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61173,11 +69477,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 89,
               "field_name": "hdr.gtpu_ipv4.version",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61187,11 +69491,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 75,
+              "position_offset": 80,
               "field_name": "hdr.gtpu_ipv4.ihl",
               "field_msb": 3,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61208,84 +69512,60 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 3,
+              "field_name": "fabric_metadata.fwd_type",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 3,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 21,
+              "field_name": "fabric_metadata.spgw.skip_spgw",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
+              "field_width": 1,
               "phv_msb": 0,
               "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 198,
-                  "header_name": "hdr.vlan_tag.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 89,
-          "container_type": "normal",
-          "records": [
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 19,
+              "field_name": "fabric_metadata.spgw.needs_gtpu_encap",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": "deparser",
+              "live_end": 1,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 194,
-                  "header_name": "hdr.mpls.$valid",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 90,
-          "container_type": "normal",
-          "records": [
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
             {
-              "position_offset": 0,
-              "field_name": "POV",
+              "position_offset": 20,
+              "field_name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
+              "live_start": "parser",
+              "live_end": 0,
               "mutually_exclusive_with": [],
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": true,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 195,
-                  "header_name": "hdr.packet_in.$valid",
-                  "hidden": false
-                }
-              ]
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
             }
           ],
           "word_bit_width": 8
@@ -61295,7 +69575,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 233,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -61337,7 +69617,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 195,
               "field_name": "hdr.packet_in.ingress_port",
               "field_msb": 8,
               "field_lsb": 0,
@@ -61351,7 +69631,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 194,
               "field_name": "hdr.packet_in._pad",
               "field_msb": 6,
               "field_lsb": 0,
@@ -61370,70 +69650,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 16,
-              "field_name": "fabric_metadata.spgw.ipv4_len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 148,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 50,
-              "field_name": "hdr.gtpu.msglen",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 149,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 89,
-              "field_name": "hdr.gtpu_udp.len",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": 0,
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 150,
-          "container_type": "normal",
-          "records": [
-            {
-              "position_offset": 134,
+              "position_offset": 170,
               "field_name": "hdr.ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61450,15 +69667,15 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 151,
+          "phv_number": 148,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 81,
+              "position_offset": 86,
               "field_name": "hdr.gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -61471,16 +69688,70 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 152,
+          "phv_number": 149,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 32,
+              "position_offset": 17,
+              "field_name": "fabric_metadata.spgw.ipv4_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": 1,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 182,
+              "field_name": "hdr.outer_gtpu.msglen",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 150,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 94,
+              "field_name": "hdr.gtpu_udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 151,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 37,
               "field_name": "fabric_metadata.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 11,
@@ -61492,30 +69763,16 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 153,
+          "phv_number": 152,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 18,
-              "field_name": "fabric_metadata.spgw.outer_header_creation",
-              "field_msb": 0,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 34,
+              "position_offset": 39,
               "field_name": "fabric_metadata.vlan_pri",
               "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 7,
@@ -61524,12 +69781,12 @@
               "is_pov": false
             },
             {
-              "position_offset": 31,
+              "position_offset": 36,
               "field_name": "fabric_metadata.vlan_cfi",
               "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
-              "live_end": 0,
+              "live_end": 2,
               "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 4,
@@ -61538,7 +69795,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 6,
+              "position_offset": 7,
               "field_name": "fabric_metadata.is_multicast",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61552,7 +69809,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 5,
+              "position_offset": 6,
               "field_name": "fabric_metadata.is_controller_packet_out",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61569,11 +69826,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 154,
+          "phv_number": 153,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 181,
+              "position_offset": 230,
               "field_name": "hdr.vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -61587,7 +69844,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 178,
+              "position_offset": 227,
               "field_name": "hdr.vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -61601,7 +69858,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 231,
               "field_name": "hdr.vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -61618,11 +69875,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 155,
+          "phv_number": 154,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 228,
               "field_name": "hdr.vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61639,11 +69896,32 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 155,
+          "container_type": "normal",
+          "records": [
+            {
+              "position_offset": 92,
+              "field_name": "hdr.gtpu_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": 1,
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 156,
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 3,
+              "position_offset": 4,
               "field_name": "fabric_metadata.ip_eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61664,7 +69942,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 40,
               "field_name": "hdr.eth_type.value",
               "field_msb": 15,
               "field_lsb": 0,
@@ -61685,7 +69963,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 7,
+              "position_offset": 8,
               "field_name": "fabric_metadata.mpls_label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -61706,7 +69984,7 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 175,
               "field_name": "hdr.mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -61727,11 +70005,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 61,
-              "field_name": "hdr.gtpu.version",
+              "position_offset": 193,
+              "field_name": "hdr.outer_gtpu.version",
               "field_msb": 2,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61741,11 +70019,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 54,
-              "field_name": "hdr.gtpu.pt",
+              "position_offset": 186,
+              "field_name": "hdr.outer_gtpu.pt",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61755,11 +70033,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
-              "field_name": "hdr.gtpu.spare",
+              "position_offset": 188,
+              "field_name": "hdr.outer_gtpu.spare",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61769,11 +70047,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
-              "field_name": "hdr.gtpu.ex_flag",
+              "position_offset": 181,
+              "field_name": "hdr.outer_gtpu.ex_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61783,11 +70061,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 55,
-              "field_name": "hdr.gtpu.seq_flag",
+              "position_offset": 187,
+              "field_name": "hdr.outer_gtpu.seq_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61797,11 +70075,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 53,
-              "field_name": "hdr.gtpu.npdu_flag",
+              "position_offset": 185,
+              "field_name": "hdr.outer_gtpu.npdu_flag",
               "field_msb": 0,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61811,11 +70089,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 52,
-              "field_name": "hdr.gtpu.msgtype",
+              "position_offset": 184,
+              "field_name": "hdr.outer_gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61832,11 +70110,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 83,
+              "position_offset": 88,
               "field_name": "hdr.gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61846,11 +70124,11 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 81,
               "field_name": "hdr.gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 1,
@@ -61867,11 +70145,11 @@
           "container_type": "normal",
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 78,
               "field_name": "hdr.gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": 0,
+              "live_start": 1,
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
@@ -61888,129 +70166,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 155,
-              "field_name": "hdr.tcp.data_offset",
-              "field_msb": 3,
+              "position_offset": 66,
+              "field_name": "hdr.gtpu.version",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 31,
+              "phv_lsb": 29,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 59,
+              "field_name": "hdr.gtpu.pt",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 28,
               "phv_lsb": 28,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 159,
-              "field_name": "hdr.tcp.res",
-              "field_msb": 2,
+              "position_offset": 61,
+              "field_name": "hdr.gtpu.spare",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 27,
+              "phv_lsb": 27,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 54,
+              "field_name": "hdr.gtpu.ex_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 26,
+              "phv_lsb": 26,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 60,
+              "field_name": "hdr.gtpu.seq_flag",
+              "field_msb": 0,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 25,
               "phv_lsb": 25,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 158,
-              "field_name": "hdr.tcp.ecn",
-              "field_msb": 2,
+              "position_offset": 58,
+              "field_name": "hdr.gtpu.npdu_flag",
+              "field_msb": 0,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 24,
-              "phv_lsb": 22,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 154,
-              "field_name": "hdr.tcp.ctrl",
-              "field_msb": 5,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 1,
-              "phv_msb": 21,
-              "phv_lsb": 16,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 168,
-              "field_name": "hdr.tcp.window",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.icmp.checksum",
-                "hdr.icmp.icmp_code",
-                "hdr.icmp.icmp_type"
-              ],
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 96,
-              "field_name": "hdr.icmp.icmp_type",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
-              "field_width": 1,
-              "phv_msb": 31,
               "phv_lsb": 24,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 95,
-              "field_name": "hdr.icmp.icmp_code",
+              "position_offset": 57,
+              "field_name": "hdr.gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 1,
               "phv_msb": 23,
               "phv_lsb": 16,
@@ -62018,19 +70264,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
-              "field_name": "hdr.icmp.checksum",
+              "position_offset": 55,
+              "field_name": "hdr.gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [
-                "hdr.tcp.window",
-                "hdr.tcp.ctrl",
-                "hdr.tcp.ecn",
-                "hdr.tcp.res",
-                "hdr.tcp.data_offset"
-              ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -62045,7 +70285,303 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 110,
+              "position_offset": 204,
+              "field_name": "hdr.tcp.data_offset",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 208,
+              "field_name": "hdr.tcp.res",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 25,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 207,
+              "field_name": "hdr.tcp.ecn",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 24,
+              "phv_lsb": 22,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 203,
+              "field_name": "hdr.tcp.ctrl",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 21,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 217,
+              "field_name": "hdr.tcp.window",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 143,
+              "field_name": "hdr.inner_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 139,
+              "field_name": "hdr.inner_udp.dport",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.icmp.checksum",
+                "hdr.icmp.icmp_code",
+                "hdr.icmp.icmp_type"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 101,
+              "field_name": "hdr.icmp.icmp_type",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 100,
+              "field_name": "hdr.icmp.icmp_code",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 98,
+              "field_name": "hdr.icmp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.window",
+                "hdr.tcp.ctrl",
+                "hdr.tcp.ecn",
+                "hdr.tcp.res",
+                "hdr.tcp.data_offset",
+                "hdr.inner_udp.dport",
+                "hdr.inner_udp.sport"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 262,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 136,
+              "field_name": "hdr.inner_ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 31,
+              "phv_lsb": 28,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 127,
+              "field_name": "hdr.inner_ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 27,
+              "phv_lsb": 24,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 114,
+              "field_name": "hdr.inner_ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 23,
+              "phv_lsb": 18,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 119,
+              "field_name": "hdr.inner_ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 17,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 133,
+              "field_name": "hdr.inner_ipv4.total_len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 263,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 146,
               "field_name": "hdr.inner_vlan_tag.eth_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62059,7 +70595,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 148,
               "field_name": "hdr.inner_vlan_tag.pri",
               "field_msb": 2,
               "field_lsb": 0,
@@ -62073,7 +70609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 109,
+              "position_offset": 145,
               "field_name": "hdr.inner_vlan_tag.cfi",
               "field_msb": 0,
               "field_lsb": 0,
@@ -62087,7 +70623,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 113,
+              "position_offset": 149,
               "field_name": "hdr.inner_vlan_tag.vlan_id",
               "field_msb": 11,
               "field_lsb": 0,
@@ -62104,17 +70640,22 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 262,
+          "phv_number": 264,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 126,
-              "field_name": "hdr.ipv4.identification",
+              "position_offset": 213,
+              "field_name": "hdr.tcp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -62122,29 +70663,96 @@
               "is_pov": false
             },
             {
-              "position_offset": 121,
-              "field_name": "hdr.ipv4.flags",
-              "field_msb": 2,
+              "position_offset": 205,
+              "field_name": "hdr.tcp.dport",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
+              "mutually_exclusive_with": [
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
+              "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 122,
-              "field_name": "hdr.ipv4.frag_offset",
-              "field_msb": 12,
+              "position_offset": 141,
+              "field_name": "hdr.inner_udp.len",
+              "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [],
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
               "field_width": 2,
-              "phv_msb": 12,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 137,
+              "field_name": "hdr.inner_udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.icmp.sequence_number",
+                "hdr.icmp.identifier"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 102,
+              "field_name": "hdr.icmp.identifier",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 104,
+              "field_name": "hdr.icmp.sequence_number",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [
+                "hdr.tcp.dport",
+                "hdr.tcp.sport",
+                "hdr.inner_udp.checksum",
+                "hdr.inner_udp.len"
+              ],
+              "field_width": 2,
+              "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62153,17 +70761,17 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 263,
+          "phv_number": 265,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 164,
-              "field_name": "hdr.tcp.sport",
+              "position_offset": 201,
+              "field_name": "hdr.tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -62171,13 +70779,13 @@
               "is_pov": false
             },
             {
-              "position_offset": 156,
-              "field_name": "hdr.tcp.dport",
+              "position_offset": 215,
+              "field_name": "hdr.tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.sequence_number", "hdr.icmp.identifier" ],
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -62185,13 +70793,34 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
-              "field_name": "hdr.icmp.identifier",
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr", "hdr.tcp.checksum" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 266,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 225,
+              "field_name": "hdr.udp.sport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 31,
               "phv_lsb": 16,
@@ -62199,13 +70828,48 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
-              "field_name": "hdr.icmp.sequence_number",
+              "position_offset": 221,
+              "field_name": "hdr.udp.dport",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.dport", "hdr.tcp.sport" ],
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 267,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 223,
+              "field_name": "hdr.udp.len",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 31,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 219,
+              "field_name": "hdr.udp.checksum",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -62220,90 +70884,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 27,
-              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 77,
-              "field_name": "hdr.gtpu_ipv4.src_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 269,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 23,
-              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 63,
-              "field_name": "hdr.gtpu_ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "mutually_exclusive_with": [],
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 270,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 37,
-              "field_name": "hdr.ethernet.dst_addr",
-              "field_msb": 47,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 6,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 271,
-          "container_type": "tagalong",
-          "records": [
-            {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -62320,11 +70901,88 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 269,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 166,
+              "field_name": "hdr.ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 270,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 152,
+              "field_name": "hdr.ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 271,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 209,
+              "field_name": "hdr.tcp.seq_no",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 106,
+              "field_name": "hdr.icmp.timestamp",
+              "field_msb": 63,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
+              "field_width": 8,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 272,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 124,
+              "position_offset": 160,
               "field_name": "hdr.ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62345,7 +71003,7 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 165,
               "field_name": "hdr.ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -62366,14 +71024,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 7,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -62387,14 +71055,24 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 34,
+              "field_name": "fabric_metadata.spgw.tunnel_src_port",
               "field_msb": 15,
               "field_lsb": 8,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 4,
+              "field_width": 2,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 96,
+              "field_name": "hdr.gtpu_udp.sport",
+              "field_msb": 15,
+              "field_lsb": 8,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
               "phv_msb": 7,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -62408,13 +71086,97 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 23,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 296,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 297,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 39,
+              "field_lsb": 32,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 298,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
+              "field_name": "hdr.ethernet.dst_addr",
+              "field_msb": 47,
+              "field_lsb": 40,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 6,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
+          "phv_number": 299,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 7,
               "phv_lsb": 0,
@@ -62429,10 +71191,10 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 148,
-              "field_name": "hdr.tcp.ack_no",
-              "field_msb": 31,
-              "field_lsb": 24,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 8,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
@@ -62451,28 +71213,14 @@
           "records": [
             {
               "position_offset": 115,
-              "field_name": "hdr.ipv4.dscp",
-              "field_msb": 5,
-              "field_lsb": 0,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 23,
+              "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 120,
-              "field_name": "hdr.ipv4.ecn",
-              "field_msb": 1,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62485,29 +71233,15 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 137,
-              "field_name": "hdr.ipv4.version",
-              "field_msb": 3,
-              "field_lsb": 0,
+              "position_offset": 115,
+              "field_name": "hdr.inner_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 24,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 1,
+              "field_width": 4,
               "phv_msb": 7,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 128,
-              "field_name": "hdr.ipv4.ihl",
-              "field_msb": 3,
-              "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [],
-              "field_width": 1,
-              "phv_msb": 3,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62520,29 +71254,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 166,
-              "field_name": "hdr.tcp.urgent_ptr",
-              "field_msb": 15,
+              "position_offset": 157,
+              "field_name": "hdr.ipv4.flags",
+              "field_msb": 2,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
-              "field_width": 2,
+              "mutually_exclusive_with": [],
+              "field_width": 1,
               "phv_msb": 15,
-              "phv_lsb": 0,
+              "phv_lsb": 13,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 15,
+              "position_offset": 158,
+              "field_name": "hdr.ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.urgent_ptr" ],
-              "field_width": 8,
-              "phv_msb": 15,
+              "mutually_exclusive_with": [],
+              "field_width": 2,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62555,32 +71289,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 152,
-              "field_name": "hdr.tcp.checksum",
+              "position_offset": 162,
+              "field_name": "hdr.ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 31,
-              "field_lsb": 16,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.checksum" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -62590,15 +71310,29 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 172,
-              "field_name": "hdr.udp.dport",
-              "field_msb": 15,
+              "position_offset": 120,
+              "field_name": "hdr.inner_ipv4.flags",
+              "field_msb": 2,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 121,
+              "field_name": "hdr.inner_ipv4.frag_offset",
+              "field_msb": 12,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
               "mutually_exclusive_with": [],
               "field_width": 2,
-              "phv_msb": 15,
+              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -62611,8 +71345,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 176,
-              "field_name": "hdr.udp.sport",
+              "position_offset": 125,
+              "field_name": "hdr.inner_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62632,8 +71366,43 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 170,
-              "field_name": "hdr.udp.checksum",
+              "position_offset": 135,
+              "field_name": "hdr.inner_ipv4.ttl",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 128,
+              "field_name": "hdr.inner_ipv4.protocol",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 331,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 123,
+              "field_name": "hdr.inner_ipv4.hdr_checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62649,18 +71418,183 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 331,
+          "phv_number": 332,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 174,
-              "field_name": "hdr.udp.len",
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "live_start": "parser",
-              "live_end": "deparser",
               "mutually_exclusive_with": [],
-              "field_width": 2,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 333,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 30,
+              "field_name": "fabric_metadata.spgw.tunnel_src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 82,
+              "field_name": "hdr.gtpu_ipv4.src_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 334,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 335,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 26,
+              "field_name": "fabric_metadata.spgw.tunnel_dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 68,
+              "field_name": "hdr.gtpu_ipv4.dst_addr",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 336,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 337,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 22,
+              "field_name": "fabric_metadata.spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 189,
+              "field_name": "hdr.outer_gtpu.teid",
+              "field_msb": 31,
+              "field_lsb": 16,
+              "mutually_exclusive_with": [],
+              "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -62674,8 +71608,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62695,8 +71629,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 130,
-              "field_name": "hdr.ipv4.src_addr",
+              "position_offset": 197,
+              "field_name": "hdr.tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -62716,8 +71650,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
@@ -62737,8 +71671,8 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 116,
-              "field_name": "hdr.ipv4.dst_addr",
+              "position_offset": 62,
+              "field_name": "hdr.gtpu.teid",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
@@ -62758,32 +71692,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 47,
-              "field_lsb": 32,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -62793,32 +71713,18 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 160,
-              "field_name": "hdr.tcp.seq_no",
+              "position_offset": 129,
+              "field_name": "hdr.inner_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 16,
               "live_start": "parser",
               "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.icmp.timestamp" ],
+              "mutually_exclusive_with": [],
               "field_width": 4,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
-            },
-            {
-              "position_offset": 101,
-              "field_name": "hdr.icmp.timestamp",
-              "field_msb": 63,
-              "field_lsb": 48,
-              "live_start": "parser",
-              "live_end": "deparser",
-              "mutually_exclusive_with": [ "hdr.tcp.seq_no" ],
-              "field_width": 8,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
             }
           ],
           "word_bit_width": 16
@@ -62828,7 +71734,70 @@
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 37,
+              "position_offset": 173,
+              "field_name": "hdr.ipv4.version",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 15,
+              "phv_lsb": 12,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 164,
+              "field_name": "hdr.ipv4.ihl",
+              "field_msb": 3,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 11,
+              "phv_lsb": 8,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 151,
+              "field_name": "hdr.ipv4.dscp",
+              "field_msb": 5,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 7,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 156,
+              "field_name": "hdr.ipv4.ecn",
+              "field_msb": 1,
+              "field_lsb": 0,
+              "live_start": "parser",
+              "live_end": "deparser",
+              "mutually_exclusive_with": [],
+              "field_width": 1,
+              "phv_msb": 1,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 345,
+          "container_type": "tagalong",
+          "records": [
+            {
+              "position_offset": 42,
               "field_name": "hdr.ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62845,11 +71814,11 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 345,
+          "phv_number": 346,
           "container_type": "tagalong",
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 48,
               "field_name": "hdr.ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -62872,6 +71841,28 @@
   "tables": [
     {
       "direction": "ingress",
+      "attached_to": "tbl_act",
+      "handle": 1879048192,
+      "name": "cond-1",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 1, "true": 0 },
+          "memory_resource_allocation": { "memory_unit": 7, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "FabricIngress.spgw.interfaces", "true": "tbl_act" },
+          "logical_table_id": 0,
+          "stage_number": 0,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.packet_out.$valid", "start_bit": 1, "bit_width": 1 } ],
+      "condition": "(hdr.packet_out.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
       "handle": 16777217,
       "name": "tbl_act",
       "table_type": "match",
@@ -62883,8 +71874,8 @@
             "size": 0,
             "stage_table_type": "ternary_match",
             "logical_table_id": 0,
-            "has_attached_gateway": false,
-            "default_next_table": 1,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -63737,956 +72728,14 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_0",
-                  "action_handle": 536870913,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 1,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_0",
-                      "next_table_logical_id": 1,
-                      "next_table_stage_no": 0
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_0",
-          "handle": 536870913,
-          "primitives": [
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870913,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777218,
-      "name": "tbl_act_0",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 16,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 6 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
                   "action_name": "act",
-                  "action_handle": 536870914,
+                  "action_handle": 536870913,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 16,
+                  "next_table_full": 255,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_1",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 1
-                    }
-                  ],
+                  "vliw_instruction_full": 65,
+                  "next_tables": [],
                   "immediate_fields": []
                 }
               ]
@@ -64703,12 +72752,22 @@
       "actions": [
         {
           "name": "act",
-          "handle": 536870914,
+          "handle": 536870913,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "spgw_normalizer_hasReturned" },
+              "dst": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
+              "dst_mask": { "type": "immediate", "name": "511" },
+              "src1": { "type": "phv", "name": "hdr.packet_out.egress_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": {
+                "type": "phv",
+                "name": "fabric_metadata.is_controller_packet_out"
+              },
               "dst_mask": { "type": "immediate", "name": "1" },
               "src1": { "type": "immediate", "name": "1" }
             }
@@ -64731,7 +72790,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870914,
+      "default_action_handle": 536870913,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -64743,30 +72802,503 @@
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_0",
-      "handle": 1879048192,
-      "name": "cond-1",
-      "table_type": "condition",
-      "stage_tables": [
+      "handle": 16777218,
+      "name": "FabricIngress.spgw.interfaces",
+      "table_type": "match",
+      "size": 128,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 1,
+            "has_attached_gateway": false,
+            "default_next_table": 16,
+            "pack_format": [
+              {
+                "table_word_width": 47,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--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": 24,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "ipv4_dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 24
+                      },
+                      {
+                        "field_name": "gtpu_is_valid",
+                        "lsb_mem_word_offset": 34,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--unused--",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "zero",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--unused--",
+                        "lsb_mem_word_offset": 35,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "zero",
+                        "start_bit": 0,
+                        "field_width": 8
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 0
+            },
+            "result_physical_buses": [ 1 ],
+            "ternary_indirection_stage_table": {
+              "action_format": [
+                {
+                  "action_name": "FabricIngress.spgw.iface_miss",
+                  "action_handle": 536870915,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 4294967295,
+                  "next_table_full": 81,
+                  "vliw_instruction": -1,
+                  "vliw_instruction_full": 68,
+                  "next_tables": [
+                    {
+                      "next_table_name": "tbl_act_2",
+                      "next_table_logical_id": 1,
+                      "next_table_stage_no": 5
+                    }
+                  ],
+                  "immediate_fields": []
+                },
+                {
+                  "action_name": "FabricIngress.spgw.load_iface",
+                  "action_handle": 536870914,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 81,
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 66,
+                  "next_tables": [
+                    {
+                      "next_table_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+                      "next_table_logical_id": 0,
+                      "next_table_stage_no": 1
+                    }
+                  ],
+                  "immediate_fields": []
+                }
+              ],
+              "memory_resource_allocation": null,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "entries_per_table_word": 1,
+                  "entries": [ { "entry_number": 0, "fields": [] } ],
+                  "table_word_width": 0,
+                  "number_memory_units_per_table_word": 0
+                }
+              ],
+              "logical_table_id": 1,
+              "stage_number": 0,
+              "stage_table_type": "ternary_indirection",
+              "size": 0
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
+      "action_data_table_refs": [
         {
-          "next_tables": { "false": 16, "true": 1 },
-          "memory_resource_allocation": { "memory_unit": 6, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_1", "true": "tbl_act_0" },
-          "logical_table_id": 1,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
+          "how_referenced": "direct",
+          "handle": 33554433,
+          "name": "FabricIngress.spgw.interfaces$action"
         }
       ],
-      "condition_fields": [ { "name": "hdr.gtpu.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(!(hdr.gtpu.$valid == 1))",
-      "size": 0
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870915,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4_dst_addr",
+          "global_name": "hdr.ipv4.dst_addr",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "position": 0,
+          "match_type": "lpm",
+          "is_valid": false,
+          "instance_name": "hdr.ipv4",
+          "field_name": "dst_addr"
+        },
+        {
+          "name": "gtpu_is_valid",
+          "global_name": "hdr.gtpu.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.gtpu",
+          "field_name": "$valid"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.iface_miss",
+          "handle": 536870915,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_iface",
+          "handle": 536870914,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.src_iface" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "action_param", "name": "src_iface" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.skip_spgw" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            {
+              "name": "src_iface",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 8
+            }
+          ],
+          "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
+        }
+      ],
+      "static_entries": []
+    },
+    {
+      "direction": "ingress",
+      "handle": 33554433,
+      "name": "FabricIngress.spgw.interfaces$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 0,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 1,
+          "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",
+                      "enable_pfe": false,
+                      "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",
+                      "enable_pfe": false,
+                      "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",
+                      "enable_pfe": false,
+                      "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",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_31--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870915
+            },
+            {
+              "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": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 104,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 2,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 72,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 1,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 40,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "src_iface"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 8,
+                      "field_name": "--padding_8_31--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870914
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.iface_miss",
+          "handle": 536870915,
+          "p4_parameters": []
+        },
+        {
+          "name": "FabricIngress.spgw.load_iface",
+          "handle": 536870914,
+          "p4_parameters": [
+            {
+              "name": "src_iface",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 8
+            }
+          ]
+        }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
     },
     {
       "direction": "egress",
-      "handle": 16777250,
-      "name": "tbl_act_17",
+      "handle": 16777238,
+      "name": "tbl_act_5",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -64812,6 +73344,955 @@
               }
             ],
             "memory_resource_allocation": null,
+            "result_physical_buses": [ 6 ],
+            "ternary_indirection_stage_table": {
+              "stage_number": 0,
+              "stage_table_type": "ternary_indirection",
+              "size": 0,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 32,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 31,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 125,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 30,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 29,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 116,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 117,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 28,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 27,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 26,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 25,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 100,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 101,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 24,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 23,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 93,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 22,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 21,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 84,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 85,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 20,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 19,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 18,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 17,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 68,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 69,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 16,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 61,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 52,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 53,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 36,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 37,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 29,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 20,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 21,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 4,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 5,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": null,
+              "action_format": [
+                {
+                  "action_name": "act_5",
+                  "action_handle": 536870963,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "next_tables": [],
+                  "immediate_fields": []
+                }
+              ]
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "actions": [
+        {
+          "name": "act_5",
+          "handle": 536870963,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "default_action_handle": 536870963,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "attached_to": "tbl_act_5",
+      "handle": 1879048193,
+      "name": "cond-13",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 3, "true": 2 },
+          "memory_resource_allocation": { "memory_unit": 6, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "tbl_act_6", "true": "tbl_act_5" },
+          "logical_table_id": 2,
+          "stage_number": 0,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.is_controller_packet_out",
+          "start_bit": 0,
+          "bit_width": 1
+        }
+      ],
+      "condition": "(fabric_metadata.is_controller_packet_out == 1)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777239,
+      "name": "tbl_act_6",
+      "table_type": "match",
+      "size": 0,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "size": 0,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 3,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": null,
             "result_physical_buses": [ 5 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
@@ -65630,957 +75111,8 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_17",
-                  "action_handle": 536870967,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 64,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_17",
-          "handle": 536870967,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870967,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_17",
-      "handle": 1879048193,
-      "name": "cond-19",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 3, "true": 2 },
-          "memory_resource_allocation": { "memory_unit": 5, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_18", "true": "tbl_act_17" },
-          "logical_table_id": 2,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.is_controller_packet_out",
-          "start_bit": 0,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(fabric_metadata.is_controller_packet_out == 1)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777251,
-      "name": "tbl_act_18",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 4 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_18",
-                  "action_handle": 536870968,
+                  "action_name": "act_6",
+                  "action_handle": 536870964,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 255,
@@ -66602,8 +75134,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_18",
-          "handle": 536870968,
+          "name": "act_6",
+          "handle": 536870964,
           "primitives": [
             {
               "name": "AddHeaderPrimitive",
@@ -66635,7 +75167,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870968,
+      "default_action_handle": 536870964,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -66647,16 +75179,16 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_18",
+      "attached_to": "tbl_act_6",
       "handle": 1879048194,
-      "name": "cond-20",
+      "name": "cond-14",
       "table_type": "condition",
       "stage_tables": [
         {
           "next_tables": { "false": 4, "true": 3 },
-          "memory_resource_allocation": { "memory_unit": 4, "memory_type": "gateway", "payload_buses": [] },
+          "memory_resource_allocation": { "memory_unit": 5, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_egress_next_set_mpls", "true": "tbl_act_18" },
+          "next_table_names": { "false": "tbl_egress_next_set_mpls", "true": "tbl_act_6" },
           "logical_table_id": 3,
           "stage_number": 0,
           "stage_table_type": "gateway",
@@ -66672,7 +75204,7 @@
     },
     {
       "direction": "egress",
-      "handle": 16777252,
+      "handle": 16777240,
       "name": "tbl_egress_next_set_mpls",
       "table_type": "match",
       "size": 0,
@@ -66719,7 +75251,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 3 ],
+            "result_physical_buses": [ 4 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
               "stage_table_type": "ternary_indirection",
@@ -67538,7 +76070,7 @@
               "action_format": [
                 {
                   "action_name": "FabricEgress.egress_next.set_mpls",
-                  "action_handle": 536870971,
+                  "action_handle": 536870967,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 6,
@@ -67546,7 +76078,7 @@
                   "vliw_instruction_full": 66,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_19",
+                      "next_table_name": "tbl_act_7",
                       "next_table_logical_id": 6,
                       "next_table_stage_no": 0
                     }
@@ -67567,7 +76099,7 @@
       "actions": [
         {
           "name": "FabricEgress.egress_next.set_mpls",
-          "handle": 536870971,
+          "handle": 536870967,
           "primitives": [
             {
               "name": "AddHeaderPrimitive",
@@ -67627,7 +76159,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870971,
+      "default_action_handle": 536870967,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -67641,12 +76173,12 @@
       "direction": "egress",
       "attached_to": "tbl_egress_next_set_mpls",
       "handle": 1879048195,
-      "name": "cond-22",
+      "name": "cond-16",
       "table_type": "condition",
       "stage_tables": [
         {
           "next_tables": { "false": 4, "true": 5 },
-          "memory_resource_allocation": { "memory_unit": 3, "memory_type": "gateway", "payload_buses": [] },
+          "memory_resource_allocation": { "memory_unit": 4, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
           "next_table_names": {
             "false": "tbl_egress_next_set_mpls",
@@ -67680,32 +76212,7 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_egress_next_pop_mpls_if_present",
-      "handle": 1879048196,
-      "name": "cond-23",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 6, "true": 5 },
-          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "tbl_act_19",
-            "true": "tbl_egress_next_pop_mpls_if_present"
-          },
-          "logical_table_id": 5,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(hdr.mpls.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777253,
+      "handle": 16777241,
       "name": "tbl_egress_next_pop_mpls_if_present",
       "table_type": "match",
       "size": 0,
@@ -67752,7 +76259,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 2 ],
+            "result_physical_buses": [ 3 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
               "stage_table_type": "ternary_indirection",
@@ -68571,7 +77078,7 @@
               "action_format": [
                 {
                   "action_name": "FabricEgress.egress_next.pop_mpls_if_present",
-                  "action_handle": 536870970,
+                  "action_handle": 536870966,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 6,
@@ -68579,7 +77086,7 @@
                   "vliw_instruction_full": 68,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_19",
+                      "next_table_name": "tbl_act_7",
                       "next_table_logical_id": 6,
                       "next_table_stage_no": 0
                     }
@@ -68600,7 +77107,7 @@
       "actions": [
         {
           "name": "FabricEgress.egress_next.pop_mpls_if_present",
-          "handle": 536870970,
+          "handle": 536870966,
           "primitives": [
             {
               "name": "RemoveHeaderPrimitive",
@@ -68632,7 +77139,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870970,
+      "default_action_handle": 536870966,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -68644,8 +77151,33 @@
     },
     {
       "direction": "egress",
-      "handle": 16777254,
-      "name": "tbl_act_19",
+      "attached_to": "tbl_egress_next_pop_mpls_if_present",
+      "handle": 1879048196,
+      "name": "cond-17",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 6, "true": 5 },
+          "memory_resource_allocation": { "memory_unit": 3, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "tbl_act_7",
+            "true": "tbl_egress_next_pop_mpls_if_present"
+          },
+          "logical_table_id": 5,
+          "stage_number": 0,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 7, "bit_width": 1 } ],
+      "condition": "(hdr.mpls.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777242,
+      "name": "tbl_act_7",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -68691,7 +77223,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 2 ],
             "ternary_indirection_stage_table": {
               "stage_number": 0,
               "stage_table_type": "ternary_indirection",
@@ -69509,8 +78041,8 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_19",
-                  "action_handle": 536870969,
+                  "action_name": "act_7",
+                  "action_handle": 536870965,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 7,
@@ -69518,7 +78050,7 @@
                   "vliw_instruction_full": 67,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_spgw_egress_gtpu_encap",
+                      "next_table_name": "",
                       "next_table_logical_id": 7,
                       "next_table_stage_no": 0
                     }
@@ -69538,8 +78070,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_19",
-          "handle": 536870969,
+          "name": "act_7",
+          "handle": 536870965,
           "primitives": [
             {
               "name": "DropPrimitive",
@@ -69565,7 +78097,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870969,
+      "default_action_handle": 536870965,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -69577,16 +78109,16 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_19",
+      "attached_to": "tbl_act_7",
       "handle": 1879048197,
-      "name": "cond-21",
+      "name": "cond-15",
       "table_type": "condition",
       "stage_tables": [
         {
           "next_tables": { "false": 7, "true": 6 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_spgw_egress_gtpu_encap", "true": "tbl_act_19" },
+          "next_table_names": { "false": "", "true": "tbl_act_7" },
           "logical_table_id": 6,
           "stage_number": 0,
           "stage_table_type": "gateway",
@@ -69607,1090 +78139,19 @@
     },
     {
       "direction": "egress",
-      "handle": 16777255,
-      "name": "tbl_spgw_egress_gtpu_encap",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 7,
-            "has_attached_gateway": true,
-            "default_next_table": 8,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 0 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "FabricEgress.spgw_egress.gtpu_encap",
-                  "action_handle": 536870980,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 8,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 69,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_24",
-                      "next_table_logical_id": 8,
-                      "next_table_stage_no": 0
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554442,
-          "name": "tbl_spgw_egress_gtpu_encap$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricEgress.spgw_egress.gtpu_encap",
-          "handle": 536870980,
-          "primitives": [
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.version" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "immediate", "name": "4" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ihl" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "immediate", "name": "5" }
-            },
-            {
-              "name": "DirectAluPrimitive",
-              "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.total_len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" },
-              "src2": { "type": "immediate", "name": "36" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.identification" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "0x1513" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ttl" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "immediate", "name": "64" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.protocol" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "immediate", "name": "17" }
-            },
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.sport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "2152" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.dport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "2152" }
-            },
-            {
-              "name": "DirectAluPrimitive",
-              "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
-              "src2": { "type": "immediate", "name": "16" }
-            },
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.version" },
-              "dst_mask": { "type": "immediate", "name": "7" },
-              "src1": { "type": "immediate", "name": "0x1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.pt" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0x1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.spare" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.ex_flag" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.seq_flag" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.npdu_flag" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.msgtype" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "immediate", "name": "0xff" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.msglen" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu.teid" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "fabric_metadata.spgw.teid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870980,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_spgw_egress_gtpu_encap",
+      "attached_to": "-",
       "handle": 1879048198,
-      "name": "cond-29",
+      "name": "cond-22",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 8, "true": 7 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 34, "true": 8 },
+          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_act_24", "true": "tbl_spgw_egress_gtpu_encap" },
+          "next_table_names": {
+            "false": "FabricEgress.egress_next.egress_vlan",
+            "true": "tbl_act_12"
+          },
           "logical_table_id": 7,
           "stage_number": 0,
           "stage_table_type": "gateway",
@@ -70699,232 +78160,18 @@
       ],
       "condition_fields": [
         {
-          "name": "fabric_metadata.spgw.outer_header_creation",
-          "start_bit": 2,
+          "name": "fabric_metadata.spgw.skip_spgw",
+          "start_bit": 0,
           "bit_width": 1
         }
       ],
-      "condition": "(fabric_metadata.spgw.outer_header_creation == 1)",
+      "condition": "(fabric_metadata.spgw.skip_spgw == 0)",
       "size": 0
     },
     {
       "direction": "egress",
-      "handle": 33554442,
-      "name": "tbl_spgw_egress_gtpu_encap$action",
-      "table_type": "action",
-      "size": 1024,
-      "stage_tables": [
-        {
-          "stage_number": 0,
-          "size": 1024,
-          "stage_table_type": "action_data",
-          "logical_table_id": 7,
-          "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,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 16, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 36, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 16,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "$constant4"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 73,
-                      "field_name": "$constant5"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 71,
-                      "field_name": "$constant6"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "$constant7"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 103,
-                      "field_name": "$constant8"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 105,
-                      "field_name": "$constant9"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "$constant2"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "$constant3"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 6,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 65,
-                      "field_name": "--padding_65_70--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 72,
-                      "field_name": "--padding_72_72--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 22,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 74,
-                      "field_name": "--padding_74_95--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 6,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 97,
-                      "field_name": "--padding_97_102--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 104,
-                      "field_name": "--padding_104_104--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 22,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 106,
-                      "field_name": "--padding_106_127--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870980
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricEgress.spgw_egress.gtpu_encap",
-          "handle": 536870980,
-          "p4_parameters": []
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "egress",
-      "handle": 16777256,
-      "name": "tbl_act_24",
+      "handle": 16777243,
+      "name": "tbl_act_12",
       "table_type": "match",
       "size": 8388608,
       "match_attributes": {
@@ -70948,14 +78195,20 @@
             "result_physical_buses": [ 0 ],
             "action_format": [
               {
-                "action_name": "act_24",
-                "action_handle": 536870979,
+                "action_name": "act_12",
+                "action_handle": 536870976,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
+                "next_table_full": 17,
+                "vliw_instruction": 1,
                 "vliw_instruction_full": 64,
-                "next_tables": [],
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_spgw_gtpu_encap",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 1
+                  }
+                ],
                 "immediate_fields": []
               }
             ]
@@ -70965,18 +78218,15 @@
       },
       "actions": [
         {
-          "name": "act_24",
-          "handle": 536870979,
+          "name": "act_12",
+          "handle": 536870976,
           "primitives": [
             {
               "name": "CountFromHashPrimitive",
-              "dst": {
-                "type": "counter",
-                "name": "FabricEgress.spgw_egress.pdr_counter"
-              },
+              "dst": { "type": "counter", "name": "FabricEgress.spgw.pdr_counter" },
               "idx": {
                 "type": "hash",
-                "name": "hash_FabricEgress.spgw_egress.pdr_counter",
+                "name": "hash_FabricEgress.spgw.pdr_counter",
                 "algorithm": "identity"
               },
               "hash_inputs": [ "fabric_metadata.spgw.ctr_id" ]
@@ -71000,7 +78250,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870979,
+      "default_action_handle": 536870976,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -71015,46 +78265,49 @@
         {
           "how_referenced": "indirect",
           "handle": 67108875,
-          "name": "FabricEgress.spgw_egress.pdr_counter"
+          "name": "FabricEgress.spgw.pdr_counter"
         }
       ],
       "stateful_table_refs": []
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_24",
+      "attached_to": "tbl_act_12",
       "handle": 1879048199,
-      "name": "tbl_act_24-gateway",
+      "name": "cond-24",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 9, "true": 9 },
-          "memory_resource_allocation": { "memory_unit": 7, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 17, "true": 17 },
+          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": {
-            "false": "FabricEgress.egress_next.egress_vlan",
-            "true": "FabricEgress.egress_next.egress_vlan"
-          },
+          "next_table_names": { "false": "tbl_spgw_gtpu_encap", "true": "tbl_spgw_gtpu_encap" },
           "logical_table_id": 8,
           "stage_number": 0,
           "stage_table_type": "gateway",
           "size": 0
         }
       ],
-      "condition_fields": [],
-      "condition": "true(always hit)",
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.skip_egress_pdr_ctr",
+          "start_bit": 5,
+          "bit_width": 1
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.skip_egress_pdr_ctr == 0)",
       "size": 0
     },
     {
       "direction": "egress",
       "handle": 67108875,
-      "name": "FabricEgress.spgw_egress.pdr_counter",
+      "name": "FabricEgress.spgw.pdr_counter",
       "table_type": "statistics",
-      "size": 1024,
+      "size": 2048,
       "stage_tables": [
         {
           "stage_number": 0,
-          "size": 1024,
+          "size": 2048,
           "stage_table_type": "statistics",
           "logical_table_id": 8,
           "pack_format": [
@@ -71067,10 +78320,13 @@
           ],
           "memory_resource_allocation": {
             "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 54 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 55
+            "memory_units_and_vpns": [
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] }
+            ],
+            "spare_bank_memory_unit": 80
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 3
         }
       ],
       "how_referenced": "indirect",
@@ -71081,23 +78337,17 @@
       "statistics_type": "packets_and_bytes"
     },
     {
-      "direction": "egress",
-      "handle": 16777257,
-      "name": "FabricEgress.egress_next.egress_vlan",
+      "direction": "ingress",
+      "handle": 16777219,
+      "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
       "table_type": "match",
-      "size": 2048,
+      "size": 4,
       "action_data_table_refs": [],
       "selection_table_refs": [],
       "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108876,
-          "name": "FabricEgress.egress_next.egress_vlan_counter"
-        }
-      ],
+      "statistics_table_refs": [],
       "stateful_table_refs": [],
-      "default_action_handle": 536870973,
+      "default_action_handle": 536870919,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -71105,39 +78355,48 @@
       "uses_range": false,
       "match_key_fields": [
         {
-          "name": "vlan_id",
-          "global_name": "fabric_metadata.vlan_id",
+          "name": "hdr.inner_tcp.$valid",
           "start_bit": 0,
-          "bit_width": 12,
-          "bit_width_full": 12,
+          "bit_width": 1,
+          "bit_width_full": 1,
           "position": 0,
           "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "vlan_id"
+          "is_valid": true,
+          "instance_name": "hdr.inner_tcp",
+          "field_name": "$valid"
         },
         {
-          "name": "eg_port",
-          "global_name": "eg_intr_md.egress_port",
+          "name": "hdr.inner_udp.$valid",
           "start_bit": 0,
-          "bit_width": 9,
-          "bit_width_full": 9,
+          "bit_width": 1,
+          "bit_width_full": 1,
           "position": 1,
           "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "eg_intr_md",
-          "field_name": "egress_port"
+          "is_valid": true,
+          "instance_name": "hdr.inner_udp",
+          "field_name": "$valid"
+        },
+        {
+          "name": "hdr.inner_icmp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 2,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_icmp",
+          "field_name": "$valid"
         }
       ],
       "ap_bind_indirect_res_to_match": [],
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 0,
-            "size": 4096,
+            "stage_number": 1,
+            "size": 1024,
             "stage_table_type": "hash_match",
-            "logical_table_id": 9,
-            "has_attached_gateway": false,
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
             "default_next_table": 255,
             "hash_functions": [
               {
@@ -71146,87 +78405,21 @@
                     "bits_to_xor": [
                       {
                         "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "field_name": "hdr.inner_udp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
                       }
                     ],
                     "hash_bit": 0,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
                         "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "field_name": "hdr.inner_tcp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
                       }
                     ],
                     "hash_bit": 1,
@@ -71235,1694 +78428,205 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_icmp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
                       }
                     ],
                     "hash_bit": 2,
                     "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "eg_port",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "vlan_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
                   }
                 ],
-                "hash_function_number": 1,
-                "ghost_bit_to_hash_bit": [
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ],
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ]
-                ],
+                "hash_function_number": 0,
+                "ghost_bit_to_hash_bit": [ [ 2 ], [ 1 ], [ 0 ] ],
                 "ghost_bit_info": [
-                  { "field_name": "eg_port", "bit_in_match_spec": 0 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 1 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 2 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 3 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 4 },
-                  { "field_name": "eg_port", "bit_in_match_spec": 8 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 8 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 9 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 10 },
-                  { "field_name": "vlan_id", "bit_in_match_spec": 11 }
+                  {
+                    "field_name": "hdr.inner_icmp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_tcp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_udp.$valid",
+                    "bit_in_match_spec": 0
+                  }
                 ]
               }
             ],
             "action_format": [
               {
-                "action_name": "nop",
-                "action_handle": 536870973,
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+                "action_handle": 536870916,
                 "table_name": "--END_OF_PIPELINE--",
-                "next_table": 4294967295,
-                "next_table_full": 10,
-                "vliw_instruction": -1,
-                "vliw_instruction_full": 64,
+                "next_table": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
                 "next_tables": [
                   {
-                    "next_table_name": "tbl_egress_next_push_vlan",
-                    "next_table_logical_id": 10,
-                    "next_table_stage_no": 0
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 7,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 12,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_7",
+                    "param_type": "constant",
+                    "const_value": 7,
+                    "param_shift": 0,
+                    "dest_start": 23,
+                    "dest_width": 3
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 28,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
+                "action_handle": 536870917,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 2,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
                   }
                 ],
                 "immediate_fields": []
               },
               {
-                "action_name": "FabricEgress.egress_next.pop_vlan",
-                "action_handle": 536870972,
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
+                "action_handle": 536870918,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 10,
-                "vliw_instruction": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 3,
+                "vliw_instruction_full": 68,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 11,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 13,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_3",
+                    "param_type": "constant",
+                    "const_value": 3,
+                    "param_shift": 0,
+                    "dest_start": 24,
+                    "dest_width": 2
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 27,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 29,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
+                "action_handle": 536870919,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 32,
+                "vliw_instruction": 4,
                 "vliw_instruction_full": 70,
                 "next_tables": [
                   {
-                    "next_table_name": "tbl_act_20",
-                    "next_table_logical_id": 5,
-                    "next_table_stage_no": 1
+                    "next_table_name": "FabricIngress.spgw.downlink_pdrs",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 2
                   }
                 ],
                 "immediate_fields": []
@@ -72950,28 +78654,26 @@
                       "entry_number": 0,
                       "fields": [
                         {
-                          "field_name": "eg_port",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 45,
-                          "start_bit": 5,
-                          "immediate_name": "",
+                          "start_bit": 0,
+                          "field_width": 30,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
+                          "source": "immediate",
                           "enable_pfe": false,
-                          "field_width": 3
+                          "lsb_mem_word_offset": 3,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
                         },
                         {
-                          "field_name": "vlan_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 32,
                           "start_bit": 0,
-                          "immediate_name": "",
+                          "field_width": 3,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
+                          "source": "instr",
                           "enable_pfe": false,
-                          "field_width": 8
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
                         }
                       ]
                     }
@@ -73000,7 +78702,7 @@
             },
             "ways": [
               {
-                "stage_number": 0,
+                "stage_number": 1,
                 "way_number": 0,
                 "stage_table_type": "hash_way",
                 "size": 1024,
@@ -73016,6 +78718,28 @@
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -73026,60 +78750,14 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
                             "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 79,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
+                            "lsb_mem_word_offset": 33,
+                            "field_name": "--padding_33_111--",
                             "match_mode": "unused"
                           },
                           {
@@ -73108,336 +78786,6 @@
                   "number_select_bits": 0,
                   "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
                 }
-              },
-              {
-                "stage_number": 0,
-                "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,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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": 0,
-                "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,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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 ] } ]
-                }
-              },
-              {
-                "stage_number": 0,
-                "way_number": 3,
-                "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,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "eg_port",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 45,
-                            "start_bit": 5,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 3
-                          },
-                          {
-                            "field_name": "vlan_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 5,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 40,
-                            "field_name": "--padding_40_44--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 64,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
-                }
               }
             ]
           }
@@ -73447,2082 +78795,50 @@
       },
       "actions": [
         {
-          "name": "nop",
-          "handle": 536870973,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        },
-        {
-          "name": "FabricEgress.egress_next.pop_vlan",
-          "handle": 536870972,
-          "primitives": [
-            {
-              "name": "CountPrimitive",
-              "dst": {
-                "type": "counter",
-                "name": "FabricEgress.egress_next.egress_vlan_counter"
-              }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": false,
-          "disallowed_as_default_action_reason": "has_const_default",
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "handle": 67108876,
-      "name": "FabricEgress.egress_next.egress_vlan_counter",
-      "table_type": "statistics",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 0,
-          "size": 4096,
-          "stage_table_type": "statistics",
-          "logical_table_id": 9,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 1,
-              "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 ] },
-              { "memory_units": [ 81 ], "vpns": [ 3 ] }
-            ],
-            "spare_bank_memory_unit": 82
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 64,
-      "packet_counter_resolution": 64,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "egress",
-      "handle": 16777258,
-      "name": "tbl_egress_next_push_vlan",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 0,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 10,
-            "has_attached_gateway": true,
-            "default_next_table": 21,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 0,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "FabricEgress.egress_next.push_vlan",
-                  "action_handle": 536870974,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 21,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 72,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_20",
-                      "next_table_logical_id": 5,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricEgress.egress_next.push_vlan",
-          "handle": 536870974,
-          "primitives": [
-            {
-              "name": "AddHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.cfi" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "fabric_metadata.vlan_cfi" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.pri" },
-              "dst_mask": { "type": "immediate", "name": "7" },
-              "src1": { "type": "phv", "name": "fabric_metadata.vlan_pri" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.eth_type" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "0x8100" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.vlan_tag.vlan_id" },
-              "dst_mask": { "type": "immediate", "name": "4095" },
-              "src1": { "type": "phv", "name": "fabric_metadata.vlan_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870974,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_egress_next_push_vlan",
-      "handle": 1879048200,
-      "name": "cond-24",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 21, "true": 10 },
-          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_20", "true": "tbl_egress_next_push_vlan" },
-          "logical_table_id": 10,
-          "stage_number": 0,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        { "name": "fabric_metadata.vlan_id", "start_bit": 0, "bit_width": 8 },
-        { "name": "fabric_metadata.vlan_id", "start_bit": 8, "bit_width": 4 }
-      ],
-      "condition": "(fabric_metadata.vlan_id != 4094)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777219,
-      "name": "tbl_act_1",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": true,
-            "default_next_table": 17,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 5 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_3",
-                  "action_handle": 536870915,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 17,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_3",
-                      "next_table_logical_id": 1,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_3",
-          "handle": 536870915,
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+          "handle": 536870916,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.$valid" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.$valid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.version" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.version" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ihl" },
-              "dst_mask": { "type": "immediate", "name": "15" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ihl" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.dscp" },
-              "dst_mask": { "type": "immediate", "name": "63" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.dscp" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ecn" },
-              "dst_mask": { "type": "immediate", "name": "3" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ecn" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.total_len" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
               "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" }
+              "src1": { "type": "immediate", "name": "0x800" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.identification" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.identification" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.flags" },
-              "dst_mask": { "type": "immediate", "name": "7" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.flags" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.frag_offset" },
-              "dst_mask": { "type": "immediate", "name": "8191" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.frag_offset" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ttl" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
               "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ttl" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.protocol" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.protocol" }
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.hdr_checksum" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
               "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" }
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.dst_addr" }
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -75623,1006 +78939,108 @@
               "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
             },
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.$valid" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "hdr.udp.$valid" }
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
             },
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.sport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.sport" }
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
             },
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.dport" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.dport" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.len" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.gtpu_udp.checksum" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.udp.checksum" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870915,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_1",
-      "handle": 1879048201,
-      "name": "cond-2",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 19, "true": 16 },
-          "memory_resource_allocation": { "memory_unit": 4, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_4", "true": "tbl_act_1" },
-          "logical_table_id": 0,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "spgw_normalizer_hasReturned",
-          "start_bit": 0,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(!spgw_normalizer_hasReturned)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777220,
-      "name": "tbl_act_3",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 19,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 4 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_2",
-                  "action_handle": 536870917,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 19,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_4",
-                      "next_table_logical_id": 3,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_2",
-          "handle": 536870917,
-          "primitives": [
-            {
               "name": "RemoveHeaderPrimitive",
               "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.tcp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.seq_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.seq_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ack_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ack_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.data_offset" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.data_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.res" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.res" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ecn" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ctrl" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ctrl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.window" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.window" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.urgent_ptr" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.urgent_ptr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_tcp.$valid" }
             }
           ],
           "indirect_resources": [],
-          "allowed_as_default_action": true,
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -76634,945 +79052,162 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870917,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_3",
-      "handle": 1879048202,
-      "name": "cond-3",
-      "table_type": "condition",
-      "stage_tables": [
+        },
         {
-          "next_tables": { "false": 17, "true": 18 },
-          "memory_resource_allocation": { "memory_unit": 3, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_3", "true": "tbl_act_2" },
-          "logical_table_id": 1,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.inner_udp.$valid", "start_bit": 1, "bit_width": 1 } ],
-      "condition": "(hdr.inner_udp.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777221,
-      "name": "tbl_act_2",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "default_next_table": 19,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 3 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_1",
-                  "action_handle": 536870916,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 19,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 68,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_4",
-                      "next_table_logical_id": 3,
-                      "next_table_stage_no": 1
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_1",
-          "handle": 536870916,
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
+          "handle": 536870917,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "hdr.udp.$valid" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
               "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "phv", "name": "hdr.inner_udp.$valid" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -77601,13 +79236,17 @@
               "dst": { "type": "phv", "name": "hdr.udp.checksum" },
               "dst_mask": { "type": "immediate", "name": "65535" },
               "src1": { "type": "phv", "name": "hdr.inner_udp.checksum" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_udp.$valid" }
             }
           ],
           "indirect_resources": [],
-          "allowed_as_default_action": true,
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -77619,934 +79258,219 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870916,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777222,
-      "name": "tbl_act_4",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 2 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_4",
-                  "action_handle": 536870918,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 67,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
+        },
         {
-          "name": "act_4",
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
           "handle": 536870918,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
-              "dst_mask": { "type": "immediate", "name": "511" },
-              "src1": { "type": "phv", "name": "hdr.packet_out.egress_port" }
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
             },
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": {
-                "type": "phv",
-                "name": "fabric_metadata.is_controller_packet_out"
-              },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
               "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.icmp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_type" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_type" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_code" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_code" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.identifier" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.identifier" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.sequence_number" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.sequence_number" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.timestamp" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.timestamp" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_icmp.$valid" }
             }
           ],
           "indirect_resources": [],
-          "allowed_as_default_action": true,
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -78558,952 +79482,168 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870918,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_4",
-      "handle": 1879048203,
-      "name": "cond-4",
-      "table_type": "condition",
-      "stage_tables": [
+        },
         {
-          "next_tables": { "false": 20, "true": 19 },
-          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_9", "true": "tbl_act_4" },
-          "logical_table_id": 3,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.packet_out.$valid", "start_bit": 1, "bit_width": 1 } ],
-      "condition": "(hdr.packet_out.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777223,
-      "name": "tbl_act_9",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 4,
-            "has_attached_gateway": true,
-            "default_next_table": 32,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_8",
-                  "action_handle": 536870927,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 32,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 69,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_spgw_ingress_gtpu_decap",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_8",
-          "handle": 536870927,
+          "name": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
+          "handle": 536870919,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.direction" },
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
               "dst_mask": { "type": "immediate", "name": "3" },
-              "src1": { "type": "immediate", "name": "1" }
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
             }
           ],
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -79517,45 +79657,77 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870927,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
+      "static_entries": [
+        {
+          "priority": 0,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870916,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 1,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870917,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 2,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x1" }
+          ],
+          "action_handle": 536870918,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        }
+      ]
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_9",
-      "handle": 1879048204,
-      "name": "cond-7",
+      "attached_to": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+      "handle": 1879048200,
+      "name": "cond-2",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 33, "true": 20 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 32, "true": 16 },
+          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
           "next_table_names": {
-            "false": "FabricIngress.spgw_ingress.downlink_filter_table",
-            "true": "tbl_act_9"
+            "false": "FabricIngress.spgw.downlink_pdrs",
+            "true": "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu"
           },
-          "logical_table_id": 4,
+          "logical_table_id": 0,
           "stage_number": 1,
           "stage_table_type": "gateway",
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "hdr.gtpu.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(hdr.gtpu.$valid == 1)",
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.src_iface",
+          "start_bit": 0,
+          "bit_width": 8
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.src_iface == 3)",
       "size": 0
     },
     {
       "direction": "egress",
-      "handle": 16777259,
-      "name": "tbl_act_20",
+      "handle": 16777244,
+      "name": "tbl_spgw_gtpu_encap",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -79564,9 +79736,9 @@
             "stage_number": 1,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 5,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
-            "default_next_table": 42,
+            "default_next_table": 34,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -79610,386 +79782,11 @@
                 {
                   "memory_word_width": 128,
                   "table_word_width": 128,
-                  "entries_per_table_word": 32,
+                  "entries_per_table_word": 2,
                   "number_memory_units_per_table_word": 1,
                   "entries": [
                     {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
+                      "entry_number": 1,
                       "fields": [
                         {
                           "start_bit": 0,
@@ -80003,388 +79800,23 @@
                         },
                         {
                           "start_bit": 0,
-                          "field_width": 3,
+                          "field_width": 32,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
-                          "source": "zero",
+                          "source": "immediate",
                           "enable_pfe": false,
                           "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
+                          "field_name": "immediate"
                         },
                         {
                           "start_bit": 0,
-                          "field_width": 3,
+                          "field_width": 31,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
                           "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_33_63--"
                         }
                       ]
                     },
@@ -80403,13 +79835,23 @@
                         },
                         {
                           "start_bit": 0,
-                          "field_width": 3,
+                          "field_width": 32,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 31,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
                           "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_33_63--"
                         }
                       ]
                     }
@@ -80419,21 +79861,38 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_21",
+                  "action_name": "FabricEgress.spgw.gtpu_encap",
                   "action_handle": 536870975,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 42,
+                  "next_table_full": 34,
                   "vliw_instruction": 1,
                   "vliw_instruction_full": 65,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_21",
-                      "next_table_logical_id": 10,
+                      "next_table_name": "FabricEgress.egress_next.egress_vlan",
+                      "next_table_logical_id": 2,
                       "next_table_stage_no": 2
                     }
                   ],
-                  "immediate_fields": []
+                  "immediate_fields": [
+                    {
+                      "param_name": "constant_36",
+                      "param_type": "constant",
+                      "const_value": 36,
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16
+                    },
+                    {
+                      "param_name": "constant_16",
+                      "param_type": "constant",
+                      "const_value": 16,
+                      "param_shift": 0,
+                      "dest_start": 16,
+                      "dest_width": 16
+                    }
+                  ]
                 }
               ]
             }
@@ -80448,16 +79907,127 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_21",
+          "name": "FabricEgress.spgw.gtpu_encap",
           "handle": 536870975,
           "primitives": [
             {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "immediate", "name": "4" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "immediate", "name": "5" }
+            },
+            {
               "name": "DirectAluPrimitive",
               "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.mpls.ttl" },
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "src2": { "type": "immediate", "name": "36" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x1513" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.ttl" },
               "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.mpls.ttl" },
-              "src2": { "type": "immediate", "name": "255" }
+              "src1": { "type": "immediate", "name": "64" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "immediate", "name": "17" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.gtpu_udp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "2152" }
+            },
+            {
+              "name": "DirectAluPrimitive",
+              "operation": "add",
+              "dst": { "type": "phv", "name": "hdr.gtpu_udp.len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
+              "src2": { "type": "immediate", "name": "16" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.outer_gtpu.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.version" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "immediate", "name": "0x1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.pt" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0x1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.spare" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.ex_flag" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.seq_flag" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.npdu_flag" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.outer_gtpu.msgtype" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "immediate", "name": "0xff" }
             }
           ],
           "indirect_resources": [],
@@ -80490,2321 +80060,53 @@
     },
     {
       "direction": "egress",
-      "attached_to": "tbl_act_20",
-      "handle": 1879048205,
-      "name": "cond-25",
+      "attached_to": "tbl_spgw_gtpu_encap",
+      "handle": 1879048201,
+      "name": "cond-23",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 22, "true": 21 },
+          "next_tables": { "false": 34, "true": 17 },
           "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "tbl_act_22", "true": "tbl_act_20" },
-          "logical_table_id": 5,
+          "next_table_names": {
+            "false": "FabricEgress.egress_next.egress_vlan",
+            "true": "tbl_spgw_gtpu_encap"
+          },
+          "logical_table_id": 1,
           "stage_number": 1,
           "stage_table_type": "gateway",
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 0, "bit_width": 1 } ],
-      "condition": "(hdr.mpls.$valid == 1)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777260,
-      "name": "tbl_act_22",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 1,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 6,
-            "has_attached_gateway": true,
-            "default_next_table": 41,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 6 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 1,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_23",
-                  "action_handle": 536870977,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 41,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_23",
-                      "next_table_logical_id": 9,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
+      "condition_fields": [
         {
-          "name": "act_23",
-          "handle": 536870977,
-          "primitives": [
-            {
-              "name": "DirectAluPrimitive",
-              "operation": "add",
-              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
-              "dst_mask": { "type": "immediate", "name": "255" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.ttl" },
-              "src2": { "type": "immediate", "name": "255" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
+          "name": "fabric_metadata.spgw.needs_gtpu_encap",
+          "start_bit": 4,
+          "bit_width": 1
         }
       ],
-      "default_action_handle": 536870977,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_22",
-      "handle": 1879048206,
-      "name": "cond-27",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 255, "true": 22 },
-          "memory_resource_allocation": { "memory_unit": 5, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "END", "true": "tbl_act_22" },
-          "logical_table_id": 6,
-          "stage_number": 1,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.ipv4.$valid", "start_bit": 4, "bit_width": 1 } ],
-      "condition": "(hdr.ipv4.$valid == 1)",
+      "condition": "(fabric_metadata.spgw.needs_gtpu_encap == 1)",
       "size": 0
     },
     {
       "direction": "ingress",
-      "handle": 16777227,
-      "name": "tbl_spgw_ingress_gtpu_decap",
+      "handle": 16777220,
+      "name": "FabricIngress.spgw.downlink_pdrs",
       "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": false,
-            "default_next_table": 36,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "FabricIngress.spgw_ingress.gtpu_decap",
-                  "action_handle": 536870928,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 36,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.spgw_ingress.uplink_filter_table",
-                      "next_table_logical_id": 4,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
+      "size": 1024,
       "action_data_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 33554433,
-          "name": "tbl_spgw_ingress_gtpu_decap$action"
+          "handle": 33554434,
+          "name": "FabricIngress.spgw.downlink_pdrs$action"
         }
       ],
       "selection_table_refs": [],
       "meter_table_refs": [],
       "statistics_table_refs": [],
       "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.gtpu_decap",
-          "handle": 536870928,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.gtpu.teid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.gtpu_ipv4.dst_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.dst_addr" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_ipv4.$valid" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu_udp.$valid" }
-            },
-            {
-              "name": "RemoveHeaderPrimitive",
-              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870928,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554433,
-      "name": "tbl_spgw_ingress_gtpu_decap$action",
-      "table_type": "action",
-      "size": 2048,
-      "stage_tables": [
-        {
-          "stage_number": 2,
-          "size": 2048,
-          "stage_table_type": "action_data",
-          "logical_table_id": 0,
-          "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,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 74,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 72,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 104,
-                      "field_name": "$constant2"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 106,
-                      "field_name": "$constant3"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 8,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "--padding_0_7--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 73,
-                      "field_name": "--padding_9_9--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 29,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 75,
-                      "field_name": "--padding_11_39--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 105,
-                      "field_name": "--padding_41_41--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 21,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 107,
-                      "field_name": "--padding_43_63--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 10,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 8,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 40,
-                      "field_name": "$constant2"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 42,
-                      "field_name": "$constant3"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 8,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_7--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 9,
-                      "field_name": "--padding_9_9--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 29,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 11,
-                      "field_name": "--padding_11_39--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 41,
-                      "field_name": "--padding_41_41--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 21,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 43,
-                      "field_name": "--padding_43_63--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870928
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.gtpu_decap",
-          "handle": 536870928,
-          "p4_parameters": []
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777224,
-      "name": "FabricIngress.spgw_ingress.downlink_filter_table",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": false,
-            "default_next_table": 34,
-            "pack_format": [
-              {
-                "table_word_width": 47,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--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_prefix",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 32
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 10
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 3 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 3
-            },
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "action_format": [
-                {
-                  "action_name": "nop",
-                  "action_handle": 536870929,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 35,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 64,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_10",
-                      "next_table_logical_id": 2,
-                      "next_table_stage_no": 2
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ],
-              "memory_resource_allocation": null,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "entries_per_table_word": 1,
-                  "entries": [ { "entry_number": 0, "fields": [] } ],
-                  "table_word_width": 0,
-                  "number_memory_units_per_table_word": 0
-                }
-              ],
-              "logical_table_id": 1,
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870929,
+      "default_action_handle": 536870923,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -82812,23 +80114,3872 @@
       "uses_range": false,
       "match_key_fields": [
         {
-          "name": "ipv4_prefix",
+          "name": "ue_addr",
           "global_name": "hdr.ipv4.dst_addr",
           "start_bit": 0,
           "bit_width": 32,
           "bit_width_full": 32,
           "position": 0,
-          "match_type": "lpm",
+          "match_type": "exact",
           "is_valid": false,
           "instance_name": "hdr.ipv4",
           "field_name": "dst_addr"
         }
       ],
       "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 4096,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 10,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 13,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 17,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "ue_addr",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 0
+                  }
+                ],
+                "hash_function_number": 0,
+                "ghost_bit_to_hash_bit": [
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ],
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ]
+                ],
+                "ghost_bit_info": [
+                  { "field_name": "ue_addr", "bit_in_match_spec": 0 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 1 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 2 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 3 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 4 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 5 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 6 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 7 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 8 },
+                  { "field_name": "ue_addr", "bit_in_match_spec": 9 }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "NoAction",
+                "action_handle": 536870923,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 4294967295,
+                "next_table_full": 48,
+                "vliw_instruction": -1,
+                "vliw_instruction_full": 64,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_pdr",
+                "action_handle": 536870922,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 48,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "needs_gtpu_decap",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
+              }
+            ],
+            "result_physical_buses": [ 13, 10 ],
+            "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,
+            "stash_allocation": {
+              "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,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "field_name": "ue_addr",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 50,
+                          "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": "ue_addr",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 32,
+                          "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": "ue_addr",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 40,
+                          "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,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 24,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 25,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 77 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 78 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 62 ], "vpns": [ 2 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 3,
+                "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,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "ue_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "--padding_2_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 63 ], "vpns": [ 3 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
       "actions": [
         {
-          "name": "nop",
-          "handle": 536870929,
+          "name": "NoAction",
+          "handle": 536870923,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -82845,14 +83996,10930 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false
+        },
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870922,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "ctr_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "far_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_decap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "needs_gtpu_decap" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ],
+          "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
         }
       ],
       "static_entries": []
     },
     {
       "direction": "ingress",
-      "handle": 16777225,
-      "name": "tbl_act_10",
+      "attached_to": "FabricIngress.spgw.downlink_pdrs",
+      "handle": 1879048202,
+      "name": "cond-3",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 32, "true": 33 },
+          "memory_resource_allocation": { "memory_unit": 12, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "FabricIngress.spgw.downlink_pdrs",
+            "true": "FabricIngress.spgw.uplink_pdrs"
+          },
+          "logical_table_id": 0,
+          "stage_number": 2,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.gtpu.$valid", "start_bit": 1, "bit_width": 1 } ],
+      "condition": "(hdr.gtpu.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 33554434,
+      "name": "FabricIngress.spgw.downlink_pdrs$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 0,
+          "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": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 88,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 24,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870922
+            },
+            {
+              "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,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870923
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 66 ], "vpns": [ 0 ] },
+              { "memory_units": [ 67 ], "vpns": [ 1 ] }
+            ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870922,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ]
+        },
+        { "name": "NoAction", "handle": 536870923, "p4_parameters": [] }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777221,
+      "name": "FabricIngress.spgw.uplink_pdrs",
+      "table_type": "match",
+      "size": 1024,
+      "action_data_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 33554435,
+          "name": "FabricIngress.spgw.uplink_pdrs$action"
+        }
+      ],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870921,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "tunnel_ipv4_dst",
+          "global_name": "hdr.ipv4.dst_addr",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "position": 0,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "hdr.ipv4",
+          "field_name": "dst_addr"
+        },
+        {
+          "name": "teid",
+          "global_name": "hdr.gtpu.teid",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "hdr.gtpu",
+          "field_name": "teid"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 4096,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 1,
+            "has_attached_gateway": false,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 10,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 13,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 17,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 38
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 45
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 42
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 51
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 59
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 37
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 43
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 32
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 35
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 40
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 44
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 46
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 47
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 50
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 53
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 56
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 62
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "tunnel_ipv4_dst",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 33
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 34
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 36
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 39
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 41
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 48
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 49
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 52
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 54
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 55
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 57
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 58
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 60
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 61
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "teid",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 63
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 1
+                  }
+                ],
+                "hash_function_number": 1,
+                "ghost_bit_to_hash_bit": [
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ],
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ]
+                ],
+                "ghost_bit_info": [
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 0 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 1 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 2 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 3 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 4 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 5 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 6 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 7 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 8 },
+                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 9 }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "NoAction",
+                "action_handle": 536870921,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 4294967295,
+                "next_table_full": 48,
+                "vliw_instruction": -1,
+                "vliw_instruction_full": 64,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_pdr",
+                "action_handle": 536870920,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 48,
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "needs_gtpu_decap",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
+              }
+            ],
+            "result_physical_buses": [ 15, 12 ],
+            "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,
+            "stash_allocation": {
+              "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,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "field_name": "tunnel_ipv4_dst",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 82,
+                          "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": "tunnel_ipv4_dst",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 32,
+                          "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": "tunnel_ipv4_dst",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 40,
+                          "start_bit": 24,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "field_name": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 48,
+                          "start_bit": 0,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "field_name": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 56,
+                          "start_bit": 8,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "field_name": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 64,
+                          "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": "teid",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 72,
+                          "start_bit": 24,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 30,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 31,
+                    "stash_match_data_select": 1,
+                    "stash_hashbank_select": 1,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 90 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 74 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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": [ 75 ], "vpns": [ 2 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 3,
+                "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,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 82,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "tunnel_ipv4_dst",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 64,
+                            "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": "teid",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 72,
+                            "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,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 80,
+                            "field_name": "--padding_80_81--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 24,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 88,
+                            "field_name": "--padding_88_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 76 ], "vpns": [ 3 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870920,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "ctr_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "far_id" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_decap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "needs_gtpu_decap" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ],
+          "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
+        }
+      ],
+      "static_entries": []
+    },
+    {
+      "direction": "ingress",
+      "handle": 33554435,
+      "name": "FabricIngress.spgw.uplink_pdrs$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 1,
+          "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": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 88,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 8,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 8,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 24,
+                      "field_name": "far_id"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "ctr_id"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870920
+            },
+            {
+              "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,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_63--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870921
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 91 ], "vpns": [ 0 ] },
+              { "memory_units": [ 92 ], "vpns": [ 1 ] }
+            ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.load_pdr",
+          "handle": 536870920,
+          "p4_parameters": [
+            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
+            {
+              "name": "far_id",
+              "start_bit": 32,
+              "position": 1,
+              "bit_width": 32
+            },
+            {
+              "name": "needs_gtpu_decap",
+              "start_bit": 64,
+              "position": 2,
+              "bit_width": 1
+            }
+          ]
+        },
+        { "name": "NoAction", "handle": 536870921, "p4_parameters": [] }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
+    },
+    {
+      "direction": "egress",
+      "handle": 16777245,
+      "name": "FabricEgress.egress_next.egress_vlan",
+      "table_type": "match",
+      "size": 2048,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 67108876,
+          "name": "FabricEgress.egress_next.egress_vlan_counter"
+        }
+      ],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870970,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "vlan_id",
+          "global_name": "fabric_metadata.vlan_id",
+          "start_bit": 0,
+          "bit_width": 12,
+          "bit_width_full": 12,
+          "position": 0,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "fabric_metadata",
+          "field_name": "vlan_id"
+        },
+        {
+          "name": "eg_port",
+          "global_name": "eg_intr_md.egress_port",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": false,
+          "instance_name": "eg_intr_md",
+          "field_name": "egress_port"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 4096,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 2,
+            "has_attached_gateway": false,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 10,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 13,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 17,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 65
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "eg_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "vlan_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 0
+                  }
+                ],
+                "hash_function_number": 2,
+                "ghost_bit_to_hash_bit": [
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ],
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ]
+                ],
+                "ghost_bit_info": [
+                  { "field_name": "eg_port", "bit_in_match_spec": 0 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 1 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 2 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 3 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 4 },
+                  { "field_name": "eg_port", "bit_in_match_spec": 8 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 8 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 9 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 10 },
+                  { "field_name": "vlan_id", "bit_in_match_spec": 11 }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "FabricEgress.egress_next.drop",
+                "action_handle": 536870970,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 4294967295,
+                "next_table_full": 35,
+                "vliw_instruction": -1,
+                "vliw_instruction_full": 67,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_8",
+                    "next_table_logical_id": 3,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricEgress.egress_next.push_vlan",
+                "action_handle": 536870968,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 35,
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 65,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_8",
+                    "next_table_logical_id": 3,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricEgress.egress_next.pop_vlan",
+                "action_handle": 536870969,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 35,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_8",
+                    "next_table_logical_id": 3,
+                    "next_table_stage_no": 2
+                  }
+                ],
+                "immediate_fields": []
+              }
+            ],
+            "result_physical_buses": [ 14 ],
+            "pack_format": [
+              {
+                "memory_word_width": 128,
+                "table_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1
+              }
+            ],
+            "memory_resource_allocation": null,
+            "stash_allocation": {
+              "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": [
+                        {
+                          "field_name": "eg_port",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 45,
+                          "start_bit": 5,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 3
+                        },
+                        {
+                          "field_name": "vlan_id",
+                          "source": "spec",
+                          "lsb_mem_word_offset": 32,
+                          "start_bit": 0,
+                          "immediate_name": "",
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "match_mode": "unused",
+                          "enable_pfe": false,
+                          "field_width": 8
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 28,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 29,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 3,
+                "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,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "eg_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 45,
+                            "start_bit": 5,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 3
+                          },
+                          {
+                            "field_name": "vlan_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 31,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 1,
+                            "field_name": "--padding_1_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 5,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 40,
+                            "field_name": "--padding_40_44--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 64,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
+      "actions": [
+        {
+          "name": "FabricEgress.egress_next.drop",
+          "handle": 536870970,
+          "primitives": [],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricEgress.egress_next.push_vlan",
+          "handle": 536870968,
+          "primitives": [
+            {
+              "name": "CountPrimitive",
+              "dst": {
+                "type": "counter",
+                "name": "FabricEgress.egress_next.egress_vlan_counter"
+              }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.cfi" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "fabric_metadata.vlan_cfi" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.pri" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "fabric_metadata.vlan_pri" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x8100" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.vlan_tag.vlan_id" },
+              "dst_mask": { "type": "immediate", "name": "4095" },
+              "src1": { "type": "phv", "name": "fabric_metadata.vlan_id" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricEgress.egress_next.pop_vlan",
+          "handle": 536870969,
+          "primitives": [
+            {
+              "name": "CountPrimitive",
+              "dst": {
+                "type": "counter",
+                "name": "FabricEgress.egress_next.egress_vlan_counter"
+              }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.vlan_tag.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "handle": 67108876,
+      "name": "FabricEgress.egress_next.egress_vlan_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 2,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 79 ], "vpns": [ 0 ] },
+              { "memory_units": [ 80 ], "vpns": [ 1 ] },
+              { "memory_units": [ 81 ], "vpns": [ 2 ] },
+              { "memory_units": [ 82 ], "vpns": [ 3 ] }
+            ],
+            "spare_bank_memory_unit": 83
+          },
+          "stats_alu_index": 3
+        }
+      ],
+      "how_referenced": "direct",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 64,
+      "packet_counter_resolution": 64,
+      "statistics_type": "packets_and_bytes"
+    },
+    {
+      "direction": "egress",
+      "handle": 16777246,
+      "name": "tbl_act_8",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -82861,9 +94928,9 @@
             "stage_number": 2,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "default_next_table": 38,
+            "logical_table_id": 3,
+            "has_attached_gateway": true,
+            "default_next_table": 51,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -82898,7 +94965,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 7 ],
+            "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
               "stage_number": 2,
               "stage_table_type": "ternary_indirection",
@@ -83717,17 +95784,17 @@
               "action_format": [
                 {
                   "action_name": "act_9",
-                  "action_handle": 536870930,
+                  "action_handle": 536870971,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 38,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 66,
+                  "next_table_full": 51,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 68,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_5",
-                      "next_table_logical_id": 6,
-                      "next_table_stage_no": 2
+                      "next_table_name": "tbl_act_9",
+                      "next_table_logical_id": 3,
+                      "next_table_stage_no": 3
                     }
                   ],
                   "immediate_fields": []
@@ -83746,14 +95813,15 @@
       "actions": [
         {
           "name": "act_9",
-          "handle": 536870930,
+          "handle": 536870971,
           "primitives": [
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.direction" },
-              "dst_mask": { "type": "immediate", "name": "3" },
-              "src1": { "type": "immediate", "name": "2" }
+              "name": "DirectAluPrimitive",
+              "operation": "add",
+              "dst": { "type": "phv", "name": "hdr.mpls.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.mpls.ttl" },
+              "src2": { "type": "immediate", "name": "255" }
             }
           ],
           "indirect_resources": [],
@@ -83774,7 +95842,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870930,
+      "default_action_handle": 536870971,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -83785,9 +95853,31 @@
       "static_entries": []
     },
     {
-      "direction": "ingress",
-      "handle": 16777226,
-      "name": "tbl_act_11",
+      "direction": "egress",
+      "attached_to": "tbl_act_8",
+      "handle": 1879048203,
+      "name": "cond-18",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 36, "true": 35 },
+          "memory_resource_allocation": { "memory_unit": 10, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "tbl_act_10", "true": "tbl_act_8" },
+          "logical_table_id": 3,
+          "stage_number": 2,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.mpls.$valid", "start_bit": 7, "bit_width": 1 } ],
+      "condition": "(hdr.mpls.$valid == 1)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777247,
+      "name": "tbl_act_10",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
@@ -83796,9 +95886,9 @@
             "stage_number": 2,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": false,
-            "default_next_table": 38,
+            "logical_table_id": 4,
+            "has_attached_gateway": true,
+            "default_next_table": 50,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -83833,7 +95923,7 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 6 ],
+            "result_physical_buses": [ 1 ],
             "ternary_indirection_stage_table": {
               "stage_number": 2,
               "stage_table_type": "ternary_indirection",
@@ -84651,20 +96741,2536 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
+                  "action_name": "act_11",
+                  "action_handle": 536870973,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 50,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 69,
+                  "next_tables": [
+                    {
+                      "next_table_name": "tbl_act_11",
+                      "next_table_logical_id": 2,
+                      "next_table_stage_no": 3
+                    }
+                  ],
+                  "immediate_fields": []
+                }
+              ]
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "actions": [
+        {
+          "name": "act_11",
+          "handle": 536870973,
+          "primitives": [
+            {
+              "name": "DirectAluPrimitive",
+              "operation": "add",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "src2": { "type": "immediate", "name": "255" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "default_action_handle": 536870973,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "attached_to": "tbl_act_10",
+      "handle": 1879048204,
+      "name": "cond-20",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 255, "true": 36 },
+          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "END", "true": "tbl_act_10" },
+          "logical_table_id": 4,
+          "stage_number": 2,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 },
+        { "name": "hdr.ipv4.$valid", "start_bit": 8, "bit_width": 1 }
+      ],
+      "condition": "(hdr.ipv4.$valid == 1 && fabric_metadata.fwd_type != 0)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777222,
+      "name": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+      "table_type": "match",
+      "size": 4,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870928,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "hdr.inner_tcp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 0,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_tcp",
+          "field_name": "$valid"
+        },
+        {
+          "name": "hdr.inner_udp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 1,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_udp",
+          "field_name": "$valid"
+        },
+        {
+          "name": "hdr.inner_icmp.$valid",
+          "start_bit": 0,
+          "bit_width": 1,
+          "bit_width_full": 1,
+          "position": 2,
+          "match_type": "exact",
+          "is_valid": true,
+          "instance_name": "hdr.inner_icmp",
+          "field_name": "$valid"
+        }
+      ],
+      "ap_bind_indirect_res_to_match": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 1024,
+            "stage_table_type": "hash_match",
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_udp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_tcp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "hdr.inner_icmp.$valid",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 0
+                  }
+                ],
+                "hash_function_number": 0,
+                "ghost_bit_to_hash_bit": [ [ 2 ], [ 1 ], [ 0 ] ],
+                "ghost_bit_info": [
+                  {
+                    "field_name": "hdr.inner_icmp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_tcp.$valid",
+                    "bit_in_match_spec": 0
+                  },
+                  {
+                    "field_name": "hdr.inner_udp.$valid",
+                    "bit_in_match_spec": 0
+                  }
+                ]
+              }
+            ],
+            "action_format": [
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
+                "action_handle": 536870925,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 7,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 12,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_7",
+                    "param_type": "constant",
+                    "const_value": 7,
+                    "param_shift": 0,
+                    "dest_start": 23,
+                    "dest_width": 3
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 28,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
+                "action_handle": 536870926,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 2,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
+                "action_handle": 536870927,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 3,
+                "vliw_instruction_full": 68,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 9,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 8,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 11,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_0",
+                    "param_type": "constant",
+                    "const_value": 0,
+                    "param_shift": 0,
+                    "dest_start": 13,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_3",
+                    "param_type": "constant",
+                    "const_value": 3,
+                    "param_shift": 0,
+                    "dest_start": 24,
+                    "dest_width": 2
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 27,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "constant_1",
+                    "param_type": "constant",
+                    "const_value": 1,
+                    "param_shift": 0,
+                    "dest_start": 29,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
+                "action_handle": 536870928,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 49,
+                "vliw_instruction": 4,
+                "vliw_instruction_full": 70,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_0",
+                    "next_table_logical_id": 1,
+                    "next_table_stage_no": 3
+                  }
+                ],
+                "immediate_fields": []
+              }
+            ],
+            "result_physical_buses": [ 14 ],
+            "pack_format": [
+              {
+                "memory_word_width": 128,
+                "table_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1
+              }
+            ],
+            "memory_resource_allocation": null,
+            "stash_allocation": {
+              "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,
+                          "field_width": 30,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 3,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "num_stash_entries": 2,
+              "stash_entries": [
+                [
+                  {
+                    "stash_entry_id": 28,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ],
+                [
+                  {
+                    "stash_entry_id": 29,
+                    "stash_match_data_select": 0,
+                    "stash_hashbank_select": 0,
+                    "hash_function_id": 0
+                  }
+                ]
+              ]
+            },
+            "ways": [
+              {
+                "stage_number": 3,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 30,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 79,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 33,
+                            "field_name": "--padding_33_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "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 ] } ]
+                }
+              }
+            ]
+          }
+        ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false
+      },
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
+          "handle": 536870925,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.tcp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.seq_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.seq_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ack_no" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ack_no" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.data_offset" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.data_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.res" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.res" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ecn" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.ctrl" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.ctrl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.window" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.window" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.tcp.urgent_ptr" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_tcp.urgent_ptr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_tcp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
+          "handle": 536870926,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.udp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_udp.checksum" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_udp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
+          "handle": 536870927,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            },
+            {
+              "name": "AddHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.icmp.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_type" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_type" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.icmp_code" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.icmp_code" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.identifier" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.identifier" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.sequence_number" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.sequence_number" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.icmp.timestamp" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_icmp.timestamp" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_icmp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
+          "handle": 536870928,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_eth_type" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "0x800" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ip_proto" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_sport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "fabric_metadata.inner_l4_dport" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.$valid" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.version" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.version" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ihl" },
+              "dst_mask": { "type": "immediate", "name": "15" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ihl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dscp" },
+              "dst_mask": { "type": "immediate", "name": "63" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dscp" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ecn" },
+              "dst_mask": { "type": "immediate", "name": "3" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ecn" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.total_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.total_len" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.identification" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.identification" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.flags" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.flags" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.frag_offset" },
+              "dst_mask": { "type": "immediate", "name": "8191" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.frag_offset" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.ttl" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.ttl" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.protocol" },
+              "dst_mask": { "type": "immediate", "name": "255" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.protocol" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.hdr_checksum" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.hdr_checksum" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "hdr.ipv4.dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "phv", "name": "hdr.inner_ipv4.dst_addr" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.inner_ipv4.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.gtpu.$valid" }
+            },
+            {
+              "name": "RemoveHeaderPrimitive",
+              "dst": { "type": "header", "name": "hdr.udp.$valid" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "static_entries": [
+        {
+          "priority": 0,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870925,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 1,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x1" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x0" }
+          ],
+          "action_handle": 536870926,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        },
+        {
+          "priority": 2,
+          "match_key_fields_values": [
+            { "field_name": "hdr.inner_tcp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_udp.$valid", "value": "0x0" },
+            { "field_name": "hdr.inner_icmp.$valid", "value": "0x1" }
+          ],
+          "action_handle": 536870927,
+          "is_default_entry": false,
+          "action_parameters_values": []
+        }
+      ]
+    },
+    {
+      "direction": "ingress",
+      "attached_to": "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+      "handle": 1879048205,
+      "name": "cond-5",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 49, "true": 48 },
+          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "tbl_act_0",
+            "true": "FabricIngress.spgw.decap_gtpu.decap_gtpu"
+          },
+          "logical_table_id": 0,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.needs_gtpu_decap",
+          "start_bit": 0,
+          "bit_width": 1
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.needs_gtpu_decap == 1)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777223,
+      "name": "tbl_act_0",
+      "table_type": "match",
+      "size": 8388608,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "logical_table_id": 1,
+            "has_attached_gateway": true,
+            "memory_resource_allocation": null,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 0,
+                "number_memory_units_per_table_word": 0
+              }
+            ],
+            "result_physical_buses": [ 0 ],
+            "action_format": [
+              {
+                "action_name": "act_0",
+                "action_handle": 536870924,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 64,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "next_tables": [
+                  {
+                    "next_table_name": "FabricIngress.spgw.fars",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 4
+                  }
+                ],
+                "immediate_fields": []
+              }
+            ]
+          }
+        ],
+        "match_type": "match_with_no_key"
+      },
+      "actions": [
+        {
+          "name": "act_0",
+          "handle": 536870924,
+          "primitives": [
+            {
+              "name": "CountFromHashPrimitive",
+              "dst": { "type": "counter", "name": "FabricIngress.spgw.pdr_counter" },
+              "idx": {
+                "type": "hash",
+                "name": "hash_FabricIngress.spgw.pdr_counter",
+                "algorithm": "identity"
+              },
+              "hash_inputs": [
+                "compiler_generated_meta.bridged_metadata.fields_md_spgw_ctr_id"
+              ]
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "disallowed_as_default_action_reason": "",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": true,
+          "override_stat_addr_pfe": true,
+          "override_stat_full_addr": 524288,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0,
+          "is_action_meter_color_aware": false
+        }
+      ],
+      "default_action_handle": 536870924,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 67108865,
+          "name": "FabricIngress.spgw.pdr_counter"
+        }
+      ],
+      "stateful_table_refs": []
+    },
+    {
+      "direction": "ingress",
+      "attached_to": "tbl_act_0",
+      "handle": 1879048206,
+      "name": "cond-4",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 64, "true": 64 },
+          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": {
+            "false": "FabricIngress.spgw.fars",
+            "true": "FabricIngress.spgw.fars"
+          },
+          "logical_table_id": 1,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [
+        {
+          "name": "fabric_metadata.spgw.src_iface",
+          "start_bit": 0,
+          "bit_width": 8
+        }
+      ],
+      "condition": "(fabric_metadata.spgw.src_iface != 3)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 67108865,
+      "name": "FabricIngress.spgw.pdr_counter",
+      "table_type": "statistics",
+      "size": 2048,
+      "stage_tables": [
+        {
+          "stage_number": 3,
+          "size": 2048,
+          "stage_table_type": "statistics",
+          "logical_table_id": 1,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "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 ] }
+            ],
+            "spare_bank_memory_unit": 80
+          },
+          "stats_alu_index": 3
+        }
+      ],
+      "how_referenced": "indirect",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 64,
+      "packet_counter_resolution": 64,
+      "statistics_type": "packets_and_bytes"
+    },
+    {
+      "direction": "egress",
+      "handle": 16777248,
+      "name": "tbl_act_11",
+      "table_type": "match",
+      "size": 0,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 0,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 2,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": null,
+            "result_physical_buses": [ 1 ],
+            "ternary_indirection_stage_table": {
+              "stage_number": 3,
+              "stage_table_type": "ternary_indirection",
+              "size": 0,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 32,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 31,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 125,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 30,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 29,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 116,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 117,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 28,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 27,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 26,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 25,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 100,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 101,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 24,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 23,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 93,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 22,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 21,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 84,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 85,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 20,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 19,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 18,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 17,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 68,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 69,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 16,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 61,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 52,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 53,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 36,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 37,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 29,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 20,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 21,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 4,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 5,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": null,
+              "action_format": [
+                {
                   "action_name": "act_10",
-                  "action_handle": 536870931,
+                  "action_handle": 536870974,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 38,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 67,
-                  "next_tables": [
-                    {
-                      "next_table_name": "tbl_act_5",
-                      "next_table_logical_id": 6,
-                      "next_table_stage_no": 2
-                    }
-                  ],
+                  "next_table_full": 255,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 65,
+                  "next_tables": [],
                   "immediate_fields": []
                 }
               ]
@@ -84681,13 +99287,11 @@
       "actions": [
         {
           "name": "act_10",
-          "handle": 536870931,
+          "handle": 536870974,
           "primitives": [
             {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "spgw_ingress_hasReturned" },
-              "dst_mask": { "type": "immediate", "name": "1" },
+              "name": "DropPrimitive",
+              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
               "src1": { "type": "immediate", "name": "1" }
             }
           ],
@@ -84709,7 +99313,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870931,
+      "default_action_handle": 536870974,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -84720,17 +99324,994 @@
       "static_entries": []
     },
     {
-      "direction": "ingress",
-      "handle": 16777228,
-      "name": "FabricIngress.spgw_ingress.uplink_filter_table",
+      "direction": "egress",
+      "attached_to": "tbl_act_11",
+      "handle": 1879048207,
+      "name": "cond-21",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 255, "true": 50 },
+          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "END", "true": "tbl_act_11" },
+          "logical_table_id": 2,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.ipv4.ttl", "start_bit": 0, "bit_width": 8 } ],
+      "condition": "(hdr.ipv4.ttl == 0)",
+      "size": 0
+    },
+    {
+      "direction": "egress",
+      "handle": 16777249,
+      "name": "tbl_act_9",
       "table_type": "match",
-      "size": 9216,
+      "size": 0,
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "size": 0,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 3,
+            "has_attached_gateway": true,
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
+              }
+            ],
+            "memory_resource_allocation": null,
+            "result_physical_buses": [ 2 ],
+            "ternary_indirection_stage_table": {
+              "stage_number": 3,
+              "stage_table_type": "ternary_indirection",
+              "size": 0,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 32,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 31,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 125,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 30,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 29,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 116,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 117,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 28,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 27,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 26,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 25,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 100,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 101,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 24,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 23,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 93,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 22,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 21,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 84,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 85,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 20,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 19,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 18,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 17,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 68,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 69,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 16,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 61,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 52,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 53,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 36,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 37,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 29,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 20,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 21,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 4,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 5,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 3,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--padding_1_3--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": null,
+              "action_format": [
+                {
+                  "action_name": "act_8",
+                  "action_handle": 536870972,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 66,
+                  "next_tables": [],
+                  "immediate_fields": []
+                }
+              ]
+            }
+          }
+        ],
+        "match_type": "ternary"
+      },
       "action_data_table_refs": [],
       "selection_table_refs": [],
       "meter_table_refs": [],
       "statistics_table_refs": [],
       "stateful_table_refs": [],
-      "default_action_handle": 536870925,
+      "actions": [
+        {
+          "name": "act_8",
+          "handle": 536870972,
+          "primitives": [
+            {
+              "name": "DropPrimitive",
+              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
+              "src1": { "type": "immediate", "name": "1" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "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
+        }
+      ],
+      "default_action_handle": 536870972,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "default_next_table_default": 0,
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "ap_bind_indirect_res_to_match": [],
+      "static_entries": []
+    },
+    {
+      "direction": "egress",
+      "attached_to": "tbl_act_9",
+      "handle": 1879048208,
+      "name": "cond-19",
+      "table_type": "condition",
+      "stage_tables": [
+        {
+          "next_tables": { "false": 255, "true": 51 },
+          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
+          "pack_format": [],
+          "next_table_names": { "false": "END", "true": "tbl_act_9" },
+          "logical_table_id": 3,
+          "stage_number": 3,
+          "stage_table_type": "gateway",
+          "size": 0
+        }
+      ],
+      "condition_fields": [ { "name": "hdr.mpls.ttl", "start_bit": 0, "bit_width": 8 } ],
+      "condition": "(hdr.mpls.ttl == 0)",
+      "size": 0
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777224,
+      "name": "FabricIngress.spgw.fars",
+      "table_type": "match",
+      "size": 2048,
+      "action_data_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 33554436,
+          "name": "FabricIngress.spgw.fars$action"
+        }
+      ],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870929,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -84738,26 +100319,26 @@
       "uses_range": false,
       "match_key_fields": [
         {
-          "name": "gtp_ipv4_dst",
-          "global_name": "hdr.gtpu_ipv4.dst_addr",
+          "name": "far_id",
+          "global_name": "fabric_metadata.spgw.far_id",
           "start_bit": 0,
           "bit_width": 32,
           "bit_width_full": 32,
           "position": 0,
           "match_type": "exact",
           "is_valid": false,
-          "instance_name": "hdr.gtpu_ipv4",
-          "field_name": "dst_addr"
+          "instance_name": "fabric_metadata.spgw",
+          "field_name": "far_id"
         }
       ],
       "ap_bind_indirect_res_to_match": [],
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
-            "size": 9216,
+            "stage_number": 4,
+            "size": 4096,
             "stage_table_type": "hash_match",
-            "logical_table_id": 4,
+            "logical_table_id": 0,
             "has_attached_gateway": false,
             "default_next_table": 255,
             "hash_functions": [
@@ -84766,244 +100347,250 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 8,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 0,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 1
                       },
                       {
                         "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 24
                       }
                     ],
                     "hash_bit": 2,
@@ -85012,292 +100599,238 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
                       }
                     ],
-                    "hash_bit": 5,
+                    "hash_bit": 3,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 2,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 17
                       },
                       {
                         "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 3,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       }
                     ],
                     "hash_bit": 6,
@@ -85306,254 +100839,206 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 16,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 8,
+                    "hash_bit": 7,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 6,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 7,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
@@ -85564,238 +101049,250 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
                         "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 11,
+                    "hash_bit": 10,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 8,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 1
                       },
                       {
                         "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 12,
@@ -85804,106 +101301,100 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 13,
@@ -85912,112 +101403,154 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 1,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       }
                     ],
                     "hash_bit": 15,
@@ -86026,88 +101559,88 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 3,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 27
                       }
                     ],
                     "hash_bit": 16,
@@ -86116,70 +101649,76 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 4,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
                       }
                     ],
                     "hash_bit": 17,
@@ -86188,256 +101727,286 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 14,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 5,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 19,
+                    "hash_bit": 18,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 8,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 6,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 20,
@@ -86446,64 +102015,76 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 21,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 7,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 21,
@@ -86512,76 +102093,88 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 8,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
                       },
                       {
                         "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 22,
@@ -86590,88 +102183,88 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
                       }
                     ],
                     "hash_bit": 23,
@@ -86680,316 +102273,310 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 18,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 25,
+                    "hash_bit": 24,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 4
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 15,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 26,
+                    "hash_bit": 25,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 14,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 2,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 20,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 3,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 27
                       }
                     ],
                     "hash_bit": 27,
@@ -86998,222 +102585,1084 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 10,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 27,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 6,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 28,
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      }
+                    ],
+                    "hash_bit": 33,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 9,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
+                        "hash_match_group_bit": 1
                       },
                       {
                         "field_bit": 10,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 11,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 14,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 17,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 28,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 30,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 22
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
                       },
                       {
                         "field_bit": 21,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 23,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 0,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
+                      }
+                    ],
+                    "hash_bit": 35,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 11,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_bit": 12,
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 28,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "gtp_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 30,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      }
+                    ],
+                    "hash_bit": 36,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 31,
-                        "field_name": "gtp_ipv4_dst",
+                        "field_name": "far_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       }
                     ],
-                    "hash_bit": 29,
+                    "hash_bit": 37,
                     "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 12,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 16,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "far_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 39,
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 0,
                 "ghost_bit_to_hash_bit": [
-                  [ 0, 11, 22 ],
-                  [ 1, 12, 23 ],
-                  [ 2, 13, 24 ],
-                  [ 3, 14, 25 ],
-                  [ 4, 15, 26 ],
-                  [ 5, 16, 27 ],
-                  [ 6, 17, 28 ],
-                  [ 7, 18, 29 ],
-                  [ 8, 19, 20 ],
-                  [ 9, 10, 21 ]
+                  [ 2, 13, 24, 35 ],
+                  [ 3, 14, 25, 36 ],
+                  [ 4, 15, 26, 37 ],
+                  [ 5, 16, 27, 38 ],
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ],
+                  [ 0, 11, 22, 33 ],
+                  [ 1, 12, 23, 34 ]
                 ],
                 "ghost_bit_info": [
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 0 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 1 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 2 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 3 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 4 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 5 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 6 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 7 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 8 },
-                  { "field_name": "gtp_ipv4_dst", "bit_in_match_spec": 9 }
+                  { "field_name": "far_id", "bit_in_match_spec": 0 },
+                  { "field_name": "far_id", "bit_in_match_spec": 1 },
+                  { "field_name": "far_id", "bit_in_match_spec": 2 },
+                  { "field_name": "far_id", "bit_in_match_spec": 3 },
+                  { "field_name": "far_id", "bit_in_match_spec": 4 },
+                  { "field_name": "far_id", "bit_in_match_spec": 5 },
+                  { "field_name": "far_id", "bit_in_match_spec": 6 },
+                  { "field_name": "far_id", "bit_in_match_spec": 7 },
+                  { "field_name": "far_id", "bit_in_match_spec": 8 },
+                  { "field_name": "far_id", "bit_in_match_spec": 9 }
                 ]
               }
             ],
             "action_format": [
               {
-                "action_name": "nop",
-                "action_handle": 536870925,
+                "action_name": "FabricIngress.spgw.load_normal_far",
+                "action_handle": 536870929,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 37,
+                "next_table_full": 80,
                 "vliw_instruction": 0,
-                "vliw_instruction_full": 64,
+                "vliw_instruction_full": 65,
                 "next_tables": [
                   {
-                    "next_table_name": "tbl_act_5",
-                    "next_table_logical_id": 6,
-                    "next_table_stage_no": 2
+                    "next_table_name": "tbl_act_1",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 5
                   }
                 ],
                 "immediate_fields": []
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_tunnel_far",
+                "action_handle": 536870930,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 80,
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 66,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_1",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 5
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
+              },
+              {
+                "action_name": "FabricIngress.spgw.load_dbuf_far",
+                "action_handle": 536870931,
+                "table_name": "--END_OF_PIPELINE--",
+                "next_table": 0,
+                "next_table_full": 80,
+                "vliw_instruction": 2,
+                "vliw_instruction_full": 68,
+                "next_tables": [
+                  {
+                    "next_table_name": "tbl_act_1",
+                    "next_table_logical_id": 0,
+                    "next_table_stage_no": 5
+                  }
+                ],
+                "immediate_fields": [
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  },
+                  {
+                    "param_name": "drop",
+                    "param_type": "parameter",
+                    "param_shift": 0,
+                    "dest_start": 0,
+                    "dest_width": 1
+                  }
+                ]
               }
             ],
             "result_physical_buses": [ 14 ],
@@ -87221,7 +103670,7 @@
               {
                 "memory_word_width": 128,
                 "table_word_width": 128,
-                "entries_per_table_word": 3,
+                "entries_per_table_word": 1,
                 "number_memory_units_per_table_word": 1
               }
             ],
@@ -87238,7 +103687,18 @@
                       "entry_number": 0,
                       "fields": [
                         {
-                          "field_name": "gtp_ipv4_dst",
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 2,
+                          "field_name": "immediate",
+                          "match_mode": "unused"
+                        },
+                        {
+                          "field_name": "far_id",
                           "source": "spec",
                           "lsb_mem_word_offset": 50,
                           "start_bit": 10,
@@ -87250,7 +103710,7 @@
                           "field_width": 6
                         },
                         {
-                          "field_name": "gtp_ipv4_dst",
+                          "field_name": "far_id",
                           "source": "spec",
                           "lsb_mem_word_offset": 32,
                           "start_bit": 16,
@@ -87262,7 +103722,7 @@
                           "field_width": 8
                         },
                         {
-                          "field_name": "gtp_ipv4_dst",
+                          "field_name": "far_id",
                           "source": "spec",
                           "lsb_mem_word_offset": 40,
                           "start_bit": 24,
@@ -87272,6 +103732,17 @@
                           "match_mode": "unused",
                           "enable_pfe": false,
                           "field_width": 8
+                        },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "enable_pfe": false,
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action",
+                          "match_mode": "unused"
                         }
                       ]
                     }
@@ -87300,126 +103771,44 @@
             },
             "ways": [
               {
-                "stage_number": 2,
+                "stage_number": 4,
                 "way_number": 0,
                 "stage_table_type": "hash_way",
-                "size": 3072,
+                "size": 1024,
                 "pack_format": [
                   {
                     "memory_word_width": 128,
                     "table_word_width": 128,
-                    "entries_per_table_word": 3,
+                    "entries_per_table_word": 1,
                     "number_memory_units_per_table_word": 1,
                     "entries": [
                       {
-                        "entry_number": 2,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 98,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
-                        "entry_number": 1,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 74,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
                         "entry_number": 0,
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -87430,7 +103819,7 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 50,
                             "start_bit": 10,
@@ -87442,7 +103831,7 @@
                             "field_width": 6
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 32,
                             "start_bit": 16,
@@ -87454,7 +103843,7 @@
                             "field_width": 8
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 40,
                             "start_bit": 24,
@@ -87467,13 +103856,13 @@
                           },
                           {
                             "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 29,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
                             "match_mode": "unused"
                           },
                           {
@@ -87522,130 +103911,48 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0, 1, 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
                 }
               },
               {
-                "stage_number": 2,
+                "stage_number": 4,
                 "way_number": 1,
                 "stage_table_type": "hash_way",
-                "size": 3072,
+                "size": 1024,
                 "pack_format": [
                   {
                     "memory_word_width": 128,
                     "table_word_width": 128,
-                    "entries_per_table_word": 3,
+                    "entries_per_table_word": 1,
                     "number_memory_units_per_table_word": 1,
                     "entries": [
                       {
-                        "entry_number": 2,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 98,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
-                        "entry_number": 1,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 74,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
                         "entry_number": 0,
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -87656,7 +103963,7 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 50,
                             "start_bit": 10,
@@ -87668,7 +103975,7 @@
                             "field_width": 6
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 32,
                             "start_bit": 16,
@@ -87680,7 +103987,7 @@
                             "field_width": 8
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 40,
                             "start_bit": 24,
@@ -87693,13 +104000,13 @@
                           },
                           {
                             "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 29,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
                             "match_mode": "unused"
                           },
                           {
@@ -87748,130 +104055,48 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 3, 4, 5 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
                 }
               },
               {
-                "stage_number": 2,
+                "stage_number": 4,
                 "way_number": 2,
                 "stage_table_type": "hash_way",
-                "size": 3072,
+                "size": 1024,
                 "pack_format": [
                   {
                     "memory_word_width": 128,
                     "table_word_width": 128,
-                    "entries_per_table_word": 3,
+                    "entries_per_table_word": 1,
                     "number_memory_units_per_table_word": 1,
                     "entries": [
                       {
-                        "entry_number": 2,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 98,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
-                        "entry_number": 1,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 74,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "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": "gtp_ipv4_dst",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          }
-                        ]
-                      },
-                      {
                         "entry_number": 0,
                         "fields": [
                           {
                             "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
                             "field_width": 4,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -87882,7 +104107,7 @@
                             "match_mode": "s1q0"
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 50,
                             "start_bit": 10,
@@ -87894,7 +104119,7 @@
                             "field_width": 6
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 32,
                             "start_bit": 16,
@@ -87906,7 +104131,7 @@
                             "field_width": 8
                           },
                           {
-                            "field_name": "gtp_ipv4_dst",
+                            "field_name": "far_id",
                             "source": "spec",
                             "lsb_mem_word_offset": 40,
                             "start_bit": 24,
@@ -87919,13 +104144,13 @@
                           },
                           {
                             "start_bit": 0,
-                            "field_width": 32,
+                            "field_width": 29,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "--padding_0_31--",
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
                             "match_mode": "unused"
                           },
                           {
@@ -87974,7 +104199,151 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 6, 7, 8 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                }
+              },
+              {
+                "stage_number": 4,
+                "way_number": 3,
+                "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,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "action",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "immediate",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 2,
+                            "field_name": "immediate",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "far_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 50,
+                            "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": "far_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "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": "far_id",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "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,
+                            "field_width": 29,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 3,
+                            "field_name": "--padding_3_31--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 48,
+                            "field_name": "--padding_48_49--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 56,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 56,
+                            "field_name": "--padding_56_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "enable_pfe": false,
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 30,
+                  "hash_entry_bit_hi": 39,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
                 }
               }
             ]
@@ -87985,14 +104354,320 @@
       },
       "actions": [
         {
-          "name": "nop",
-          "handle": 536870925,
-          "primitives": [],
+          "name": "FabricIngress.spgw.load_normal_far",
+          "handle": 536870929,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            }
+          ],
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "is_compiler_added_action": false,
           "constant_default_action": false,
-          "p4_parameters": [],
+          "p4_parameters": [
+            {
+              "name": "drop",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": "0x1",
+              "bit_width": 1
+            },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "default_value": "0x0",
+              "bit_width": 1
+            }
+          ],
+          "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_tunnel_far",
+          "handle": 536870930,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_encap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "teid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_port" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "2152" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            {
+              "name": "drop",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": "0x1",
+              "bit_width": 1
+            },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "default_value": "0x0",
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "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
+        },
+        {
+          "name": "FabricIngress.spgw.load_dbuf_far",
+          "handle": 536870931,
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "action_param", "name": "drop" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.needs_gtpu_encap" },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "1" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "teid" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_port" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
+              "dst_mask": { "type": "immediate", "name": "0" },
+              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_sport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "action_param", "name": "tunnel_src_port" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.l4_dport" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "immediate", "name": "2152" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": {
+                "type": "phv",
+                "name": "fabric_metadata.spgw.skip_egress_pdr_ctr"
+              },
+              "dst_mask": { "type": "immediate", "name": "1" },
+              "src1": { "type": "immediate", "name": "1" }
+            }
+          ],
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "has_const_default",
+          "is_compiler_added_action": false,
+          "constant_default_action": false,
+          "p4_parameters": [
+            {
+              "name": "drop",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": "0x1",
+              "bit_width": 1
+            },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "default_value": "0x0",
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "bit_width": 32 }
+          ],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
           "override_meter_full_addr": 0,
@@ -88009,19 +104684,360 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777229,
-      "name": "tbl_act_8",
+      "handle": 33554436,
+      "name": "FabricIngress.spgw.fars$action",
+      "table_type": "action",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 4,
+          "size": 4096,
+          "stage_table_type": "action_data",
+          "logical_table_id": 0,
+          "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,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "enable_pfe": false,
+                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
+                      "lsb_mem_word_offset": 16,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "teid"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870931
+            },
+            {
+              "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,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "drop"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "drop"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 127,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 1,
+                      "field_name": "--padding_1_127--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870929
+            },
+            {
+              "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,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "enable_pfe": false,
+                      "const_tuples": [ { "dest_start": 0, "value": 2152, "dest_width": 16 } ],
+                      "lsb_mem_word_offset": 16,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "tunnel_src_port"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "teid"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "tunnel_src_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "enable_pfe": false,
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "tunnel_dst_addr"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870930
+            }
+          ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 90 ], "vpns": [ 0 ] },
+              { "memory_units": [ 91 ], "vpns": [ 1 ] },
+              { "memory_units": [ 92 ], "vpns": [ 2 ] },
+              { "memory_units": [ 93 ], "vpns": [ 3 ] }
+            ]
+          }
+        }
+      ],
+      "actions": [
+        {
+          "name": "FabricIngress.spgw.load_dbuf_far",
+          "handle": 536870931,
+          "p4_parameters": [
+            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "bit_width": 32 }
+          ]
+        },
+        {
+          "name": "FabricIngress.spgw.load_normal_far",
+          "handle": 536870929,
+          "p4_parameters": [
+            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "bit_width": 1
+            }
+          ]
+        },
+        {
+          "name": "FabricIngress.spgw.load_tunnel_far",
+          "handle": 536870930,
+          "p4_parameters": [
+            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
+            {
+              "name": "notify_cp",
+              "start_bit": 1,
+              "position": 1,
+              "bit_width": 1
+            },
+            {
+              "name": "tunnel_src_port",
+              "start_bit": 2,
+              "position": 2,
+              "bit_width": 16
+            },
+            {
+              "name": "tunnel_src_addr",
+              "start_bit": 18,
+              "position": 3,
+              "bit_width": 32
+            },
+            {
+              "name": "tunnel_dst_addr",
+              "start_bit": 50,
+              "position": 4,
+              "bit_width": 32
+            },
+            { "name": "teid", "start_bit": 82, "position": 5, "bit_width": 32 }
+          ]
+        }
+      ],
+      "static_entries": [],
+      "how_referenced": "direct"
+    },
+    {
+      "direction": "ingress",
+      "handle": 16777225,
+      "name": "tbl_act_1",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 5,
+            "logical_table_id": 0,
             "has_attached_gateway": false,
-            "default_next_table": 38,
+            "default_next_table": 81,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -88056,9 +105072,9 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 5 ],
+            "result_physical_buses": [ 2 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0,
               "pack_format": [
@@ -88874,18 +105890,18 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_7",
-                  "action_handle": 536870926,
+                  "action_name": "act_1",
+                  "action_handle": 536870932,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 38,
+                  "next_table_full": 81,
                   "vliw_instruction": 0,
-                  "vliw_instruction_full": 68,
+                  "vliw_instruction_full": 65,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_5",
-                      "next_table_logical_id": 6,
-                      "next_table_stage_no": 2
+                      "next_table_name": "tbl_act_2",
+                      "next_table_logical_id": 1,
+                      "next_table_stage_no": 5
                     }
                   ],
                   "immediate_fields": []
@@ -88903,13 +105919,15 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_7",
-          "handle": 536870926,
+          "name": "act_1",
+          "handle": 536870932,
           "primitives": [
             {
-              "name": "DropPrimitive",
-              "dst": { "type": "phv", "name": "ig_intr_md_for_dprsr.drop_ctl" },
-              "src1": { "type": "immediate", "name": "1" }
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
+              "dst_mask": { "type": "immediate", "name": "65535" },
+              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" }
             }
           ],
           "indirect_resources": [],
@@ -88930,7 +105948,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870926,
+      "default_action_handle": 536870932,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -88942,19 +105960,19 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777230,
-      "name": "tbl_act_5",
+      "handle": 16777226,
+      "name": "tbl_act_2",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 6,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
-            "default_next_table": 39,
+            "default_next_table": 82,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -88989,9 +106007,9 @@
               }
             ],
             "memory_resource_allocation": null,
-            "result_physical_buses": [ 4 ],
+            "result_physical_buses": [ 1 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0,
               "pack_format": [
@@ -89807,18 +106825,18 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_5",
-                  "action_handle": 536870919,
+                  "action_name": "act_2",
+                  "action_handle": 536870933,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 39,
+                  "next_table_full": 82,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 69,
+                  "vliw_instruction_full": 66,
                   "next_tables": [
                     {
                       "next_table_name": "FabricIngress.filtering.fwd_classifier",
-                      "next_table_logical_id": 7,
-                      "next_table_stage_no": 2
+                      "next_table_logical_id": 2,
+                      "next_table_stage_no": 5
                     }
                   ],
                   "immediate_fields": []
@@ -89836,8 +106854,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_5",
-          "handle": 536870919,
+          "name": "act_2",
+          "handle": 536870933,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
@@ -89879,7 +106897,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870919,
+      "default_action_handle": 536870933,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -89891,21 +106909,21 @@
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_5",
-      "handle": 1879048207,
-      "name": "cond-5",
+      "attached_to": "tbl_act_2",
+      "handle": 1879048209,
+      "name": "cond-6",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 39, "true": 38 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 82, "true": 81 },
+          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
           "next_table_names": {
             "false": "FabricIngress.filtering.fwd_classifier",
-            "true": "tbl_act_5"
+            "true": "tbl_act_2"
           },
-          "logical_table_id": 6,
-          "stage_number": 2,
+          "logical_table_id": 1,
+          "stage_number": 5,
           "stage_table_type": "gateway",
           "size": 0
         }
@@ -89916,19 +106934,19 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777231,
+      "handle": 16777227,
       "name": "FabricIngress.filtering.fwd_classifier",
       "table_type": "match",
       "size": 128,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 7,
+            "logical_table_id": 2,
             "has_attached_gateway": false,
-            "default_next_table": 40,
+            "default_next_table": 83,
             "pack_format": [
               {
                 "table_word_width": 141,
@@ -90008,8 +107026,17 @@
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 32,
-                        "field_width": 16
+                        "start_bit": 16,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "ig_port",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1
                       },
                       {
                         "field_name": "eth_dst",
@@ -90017,17 +107044,8 @@
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ig_port",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 1
+                        "start_bit": 32,
+                        "field_width": 16
                       },
                       {
                         "field_name": "ig_port",
@@ -90044,17 +107062,8 @@
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ip_eth_type",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 16
                       },
                       {
                         "field_name": "eth_dst",
@@ -90062,17 +107071,8 @@
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 16
                       },
                       {
                         "field_name": "eth_type",
@@ -90080,16 +107080,16 @@
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
-                        "start_bit": 8,
+                        "start_bit": 0,
                         "field_width": 8
                       },
                       {
                         "field_name": "eth_type",
-                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "spec",
-                        "start_bit": 0,
+                        "start_bit": 8,
                         "field_width": 8
                       },
                       {
@@ -90112,25 +107112,16 @@
                       },
                       {
                         "field_name": "--unused--",
-                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "zero",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 34
                       },
                       {
                         "field_name": "--unused--",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 26
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 26,
+                        "lsb_mem_word_offset": 10,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "zero",
@@ -90152,17 +107143,17 @@
               "action_format": [
                 {
                   "action_name": "FabricIngress.filtering.set_forwarding_type",
-                  "action_handle": 536870924,
+                  "action_handle": 536870938,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 40,
+                  "next_table_full": 83,
                   "vliw_instruction": 0,
-                  "vliw_instruction_full": 70,
+                  "vliw_instruction_full": 67,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_6",
-                      "next_table_logical_id": 8,
-                      "next_table_stage_no": 2
+                      "next_table_name": "tbl_act_3",
+                      "next_table_logical_id": 3,
+                      "next_table_stage_no": 5
                     }
                   ],
                   "immediate_fields": []
@@ -90178,8 +107169,8 @@
                   "number_memory_units_per_table_word": 0
                 }
               ],
-              "logical_table_id": 7,
-              "stage_number": 2,
+              "logical_table_id": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0
             }
@@ -90190,7 +107181,7 @@
       "action_data_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 33554434,
+          "handle": 33554437,
           "name": "FabricIngress.filtering.fwd_classifier$action"
         }
       ],
@@ -90199,12 +107190,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108865,
+          "handle": 67108866,
           "name": "FabricIngress.filtering.fwd_classifier_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870924,
+      "default_action_handle": 536870938,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -90264,7 +107255,7 @@
       "actions": [
         {
           "name": "FabricIngress.filtering.set_forwarding_type",
-          "handle": 536870924,
+          "handle": 536870938,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -90283,20 +107274,6 @@
             {
               "name": "ModifyFieldPrimitive",
               "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "immediate", "name": "0" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
               "dst": { "type": "phv", "name": "fabric_metadata.next_id" },
               "dst_mask": { "type": "immediate", "name": "0" },
               "src1": { "type": "immediate", "name": "0" }
@@ -90314,6 +107291,13 @@
               "dst": { "type": "phv", "name": "compiler_generated_meta.mirror_source" },
               "dst_mask": { "type": "immediate", "name": "255" },
               "src1": { "type": "immediate", "name": "0" }
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "operation": "set",
+              "dst": { "type": "phv", "name": "ig_intr_md_for_dprsr.drop_ctl" },
+              "dst_mask": { "type": "immediate", "name": "7" },
+              "src1": { "type": "immediate", "name": "0" }
             }
           ],
           "indirect_resources": [],
@@ -90345,16 +107329,16 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108865,
+      "handle": 67108866,
       "name": "FabricIngress.filtering.fwd_classifier_counter",
       "table_type": "statistics",
       "size": 1024,
       "stage_tables": [
         {
-          "stage_number": 2,
+          "stage_number": 5,
           "size": 1024,
           "stage_table_type": "statistics",
-          "logical_table_id": 7,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -90380,16 +107364,16 @@
     },
     {
       "direction": "ingress",
-      "handle": 33554434,
+      "handle": 33554437,
       "name": "FabricIngress.filtering.fwd_classifier$action",
       "table_type": "action",
       "size": 16384,
       "stage_tables": [
         {
-          "stage_number": 2,
+          "stage_number": 5,
           "size": 16384,
           "stage_table_type": "action_data",
-          "logical_table_id": 7,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "memory_word_width": 128,
@@ -90798,7 +107782,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870924
+              "action_handle": 536870938
             }
           ],
           "memory_resource_allocation": {
@@ -90810,7 +107794,7 @@
       "actions": [
         {
           "name": "FabricIngress.filtering.set_forwarding_type",
-          "handle": 536870924,
+          "handle": 536870938,
           "p4_parameters": [
             {
               "name": "fwd_type",
@@ -90826,19 +107810,19 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777232,
-      "name": "tbl_act_6",
+      "handle": 16777228,
+      "name": "tbl_act_3",
       "table_type": "match",
       "size": 0,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 2,
+            "stage_number": 5,
             "size": 0,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 8,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
-            "default_next_table": 48,
+            "default_next_table": 96,
             "pack_format": [
               {
                 "table_word_width": 0,
@@ -90875,7 +107859,7 @@
             "memory_resource_allocation": null,
             "result_physical_buses": [ 3 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 2,
+              "stage_number": 5,
               "stage_table_type": "ternary_indirection",
               "size": 0,
               "pack_format": [
@@ -91691,18 +108675,18 @@
               "memory_resource_allocation": null,
               "action_format": [
                 {
-                  "action_name": "act_6",
-                  "action_handle": 536870920,
+                  "action_name": "act_3",
+                  "action_handle": 536870934,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 48,
+                  "next_table_full": 96,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 71,
+                  "vliw_instruction_full": 68,
                   "next_tables": [
                     {
-                      "next_table_name": "",
+                      "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 3
+                      "next_table_stage_no": 6
                     }
                   ],
                   "immediate_fields": []
@@ -91720,8 +108704,8 @@
       "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_6",
-          "handle": 536870920,
+          "name": "act_3",
+          "handle": 536870934,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
@@ -91749,7 +108733,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870920,
+      "default_action_handle": 536870934,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -91761,18 +108745,21 @@
     },
     {
       "direction": "ingress",
-      "attached_to": "tbl_act_6",
-      "handle": 1879048208,
-      "name": "cond-6",
+      "attached_to": "tbl_act_3",
+      "handle": 1879048210,
+      "name": "cond-7",
       "table_type": "condition",
       "stage_tables": [
         {
-          "next_tables": { "false": 48, "true": 40 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
+          "next_tables": { "false": 96, "true": 83 },
+          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
           "pack_format": [],
-          "next_table_names": { "false": "", "true": "tbl_act_6" },
-          "logical_table_id": 8,
-          "stage_number": 2,
+          "next_table_names": {
+            "false": "FabricIngress.filtering.ingress_port_vlan",
+            "true": "tbl_act_3"
+          },
+          "logical_table_id": 3,
+          "stage_number": 5,
           "stage_table_type": "gateway",
           "size": 0
         }
@@ -91782,19311 +108769,20 @@
       "size": 0
     },
     {
-      "direction": "egress",
-      "handle": 16777261,
-      "name": "tbl_act_23",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 9,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 2 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_22",
-                  "action_handle": 536870978,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_22",
-          "handle": 536870978,
-          "primitives": [
-            {
-              "name": "DropPrimitive",
-              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870978,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_23",
-      "handle": 1879048209,
-      "name": "cond-28",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 255, "true": 41 },
-          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "END", "true": "tbl_act_23" },
-          "logical_table_id": 9,
-          "stage_number": 2,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.ipv4.ttl", "start_bit": 0, "bit_width": 8 } ],
-      "condition": "(hdr.ipv4.ttl == 0)",
-      "size": 0
-    },
-    {
-      "direction": "egress",
-      "handle": 16777262,
-      "name": "tbl_act_21",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 2,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 10,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 9 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 2,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_20",
-                  "action_handle": 536870976,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 255,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_20",
-          "handle": 536870976,
-          "primitives": [
-            {
-              "name": "DropPrimitive",
-              "dst": { "type": "phv", "name": "eg_intr_md_for_dprsr.drop_ctl" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870976,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "egress",
-      "attached_to": "tbl_act_21",
-      "handle": 1879048210,
-      "name": "cond-26",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 255, "true": 42 },
-          "memory_resource_allocation": { "memory_unit": 2, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "END", "true": "tbl_act_21" },
-          "logical_table_id": 10,
-          "stage_number": 2,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "hdr.mpls.ttl", "start_bit": 0, "bit_width": 8 } ],
-      "condition": "(hdr.mpls.ttl == 0)",
-      "size": 0
-    },
-    {
       "direction": "ingress",
-      "attached_to": "-",
-      "handle": 1879048211,
-      "name": "cond-8",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 52, "true": 49 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "FabricIngress.filtering.ingress_port_vlan",
-            "true": "FabricIngress.spgw_ingress.uplink_pdr_lookup"
-          },
-          "logical_table_id": 0,
-          "stage_number": 3,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "spgw_ingress_hasReturned", "start_bit": 2, "bit_width": 1 } ],
-      "condition": "(!spgw_ingress_hasReturned)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777233,
-      "name": "FabricIngress.spgw_ingress.uplink_pdr_lookup",
-      "table_type": "match",
-      "size": 4096,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554435,
-          "name": "FabricIngress.spgw_ingress.uplink_pdr_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870933,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "tunnel_ipv4_dst",
-          "global_name": "fabric_metadata.spgw.tunnel_dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 0,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "tunnel_dst_addr"
-        },
-        {
-          "name": "teid",
-          "global_name": "fabric_metadata.spgw.teid",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 1,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "teid"
-        },
-        {
-          "name": "ue_addr",
-          "global_name": "hdr.ipv4.src_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 2,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "src_addr"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 3,
-            "size": 4096,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 255,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 37
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 52
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 65
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 54
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 51
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 63
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 102
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 55
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 56
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 59
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 60
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 97
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 10,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "tunnel_ipv4_dst",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 50
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 53
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 57
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 58
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 61
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 62
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 64
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "teid",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 96
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 98
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 99
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 100
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 101
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 103
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
-                  }
-                ],
-                "hash_function_number": 0,
-                "ghost_bit_to_hash_bit": [
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ],
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ]
-                ],
-                "ghost_bit_info": [
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 0 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 1 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 2 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 3 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 4 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 5 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 6 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 7 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 8 },
-                  { "field_name": "tunnel_ipv4_dst", "bit_in_match_spec": 9 }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870933,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 4294967295,
-                "next_table_full": 52,
-                "vliw_instruction": -1,
-                "vliw_instruction_full": 64,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": []
-              },
-              {
-                "action_name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-                "action_handle": 536870932,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 52,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 65,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": [
-                  {
-                    "param_name": "ctr_id",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 32
-                  }
-                ]
-              }
-            ],
-            "result_physical_buses": [ 15, 12 ],
-            "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,
-            "stash_allocation": {
-              "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,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "immediate",
-                          "match_mode": "unused"
-                        },
-                        {
-                          "field_name": "tunnel_ipv4_dst",
-                          "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": "tunnel_ipv4_dst",
-                          "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": "tunnel_ipv4_dst",
-                          "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
-                        },
-                        {
-                          "field_name": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 56,
-                          "start_bit": 0,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 64,
-                          "start_bit": 8,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 72,
-                          "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": "teid",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 80,
-                          "start_bit": 24,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 88,
-                          "start_bit": 0,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 96,
-                          "start_bit": 8,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 104,
-                          "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": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 112,
-                          "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,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action",
-                          "match_mode": "unused"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "num_stash_entries": 2,
-              "stash_entries": [
-                [
-                  {
-                    "stash_entry_id": 30,
-                    "stash_match_data_select": 1,
-                    "stash_hashbank_select": 1,
-                    "hash_function_id": 0
-                  }
-                ],
-                [
-                  {
-                    "stash_entry_id": 31,
-                    "stash_match_data_select": 1,
-                    "stash_hashbank_select": 1,
-                    "hash_function_id": 0
-                  }
-                ]
-              ]
-            },
-            "ways": [
-              {
-                "stage_number": 3,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_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": [ 91 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_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": [ 92 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_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": [ 74 ], "vpns": [ 2 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 3,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 120,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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": "tunnel_ipv4_dst",
-                            "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
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 56,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 64,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 72,
-                            "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": "teid",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 80,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 88,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 96,
-                            "start_bit": 8,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 104,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 112,
-                            "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 124,
-                            "field_name": "--padding_124_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 75 ], "vpns": [ 3 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870933,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870932,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.pdr_hit" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "ctr_id" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "far_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "FabricIngress.spgw_ingress.uplink_pdr_lookup",
-      "handle": 1879048212,
-      "name": "cond-9",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 50, "true": 49 },
-          "memory_resource_allocation": { "memory_unit": 14, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "tbl_act_12",
-            "true": "FabricIngress.spgw_ingress.uplink_pdr_lookup"
-          },
-          "logical_table_id": 1,
-          "stage_number": 3,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.direction",
-          "start_bit": 0,
-          "bit_width": 2
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.direction == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554435,
-      "name": "FabricIngress.spgw_ingress.uplink_pdr_lookup$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 3,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 1,
-          "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": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 112,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 16,
-                      "field_name": "far_id"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870932
-            },
-            {
-              "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870933
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870932,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "bit_width": 32
-            }
-          ]
-        },
-        { "name": "NoAction", "handle": 536870933, "p4_parameters": [] }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777234,
-      "name": "tbl_act_12",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 3,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": true,
-            "default_next_table": 52,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 3,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_12",
-                  "action_handle": 536870936,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 52,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                      "next_table_logical_id": 4,
-                      "next_table_stage_no": 3
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_12",
-          "handle": 536870936,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "spgw_ingress_hasReturned" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870936,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_12",
-      "handle": 1879048213,
-      "name": "cond-10",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 50, "true": 51 },
-          "memory_resource_allocation": { "memory_unit": 12, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "tbl_act_12",
-            "true": "FabricIngress.spgw_ingress.downlink_pdr_lookup"
-          },
-          "logical_table_id": 2,
-          "stage_number": 3,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.direction",
-          "start_bit": 0,
-          "bit_width": 2
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.direction == 2)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777235,
-      "name": "FabricIngress.spgw_ingress.downlink_pdr_lookup",
-      "table_type": "match",
-      "size": 4096,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554436,
-          "name": "FabricIngress.spgw_ingress.downlink_pdr_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870935,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "ue_addr",
-          "global_name": "hdr.ipv4.dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 0,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "dst_addr"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 3,
-            "size": 4096,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": false,
-            "default_next_table": 255,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "ue_addr",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
-                  }
-                ],
-                "hash_function_number": 1,
-                "ghost_bit_to_hash_bit": [
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ],
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ]
-                ],
-                "ghost_bit_info": [
-                  { "field_name": "ue_addr", "bit_in_match_spec": 0 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 1 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 2 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 3 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 4 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 5 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 6 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 7 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 8 },
-                  { "field_name": "ue_addr", "bit_in_match_spec": 9 }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870935,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 4294967295,
-                "next_table_full": 52,
-                "vliw_instruction": -1,
-                "vliw_instruction_full": 64,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": []
-              },
-              {
-                "action_name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-                "action_handle": 536870934,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 52,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 68,
-                "next_tables": [
-                  {
-                    "next_table_name": "FabricIngress.filtering.ingress_port_vlan",
-                    "next_table_logical_id": 4,
-                    "next_table_stage_no": 3
-                  }
-                ],
-                "immediate_fields": [
-                  {
-                    "param_name": "ctr_id",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 32
-                  }
-                ]
-              }
-            ],
-            "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,
-            "stash_allocation": {
-              "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,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "immediate",
-                          "match_mode": "unused"
-                        },
-                        {
-                          "field_name": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 50,
-                          "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": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 32,
-                          "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": "ue_addr",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 40,
-                          "start_bit": 24,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "num_stash_entries": 2,
-              "stash_entries": [
-                [
-                  {
-                    "stash_entry_id": 28,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ],
-                [
-                  {
-                    "stash_entry_id": 29,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ]
-              ]
-            },
-            "ways": [
-              {
-                "stage_number": 3,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 3,
-                "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,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "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": "ue_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "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,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 3 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870935,
-          "primitives": [],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870934,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.pdr_hit" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "ctr_id" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "far_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554436,
-      "name": "FabricIngress.spgw_ingress.downlink_pdr_lookup$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 3,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 3,
-          "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": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 112,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 16,
-                      "field_name": "far_id"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870934
-            },
-            {
-              "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "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",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870935
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 93 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870934,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "bit_width": 32
-            }
-          ]
-        },
-        { "name": "NoAction", "handle": 536870935, "p4_parameters": [] }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777236,
+      "handle": 16777229,
       "name": "FabricIngress.filtering.ingress_port_vlan",
       "table_type": "match",
       "size": 2048,
       "match_attributes": {
         "stage_tables": [
           {
-            "stage_number": 3,
+            "stage_number": 6,
             "size": 2048,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 4,
+            "logical_table_id": 0,
             "has_attached_gateway": false,
-            "default_next_table": 64,
+            "default_next_table": 112,
             "pack_format": [
               {
                 "table_word_width": 47,
@@ -111231,7 +108927,7 @@
             },
             "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
-              "stage_number": 3,
+              "stage_number": 6,
               "stage_table_type": "ternary_indirection",
               "size": 4096,
               "pack_format": [
@@ -111392,51 +109088,51 @@
               "action_format": [
                 {
                   "action_name": "FabricIngress.filtering.deny",
-                  "action_handle": 536870921,
+                  "action_handle": 536870935,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 112,
                   "vliw_instruction": 0,
-                  "vliw_instruction_full": 67,
+                  "vliw_instruction_full": 65,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_15",
+                      "next_table_name": "",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 4
+                      "next_table_stage_no": 7
                     }
                   ],
                   "immediate_fields": []
                 },
                 {
                   "action_name": "FabricIngress.filtering.permit",
-                  "action_handle": 536870922,
+                  "action_handle": 536870936,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 112,
                   "vliw_instruction": 1,
                   "vliw_instruction_full": 64,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_15",
+                      "next_table_name": "",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 4
+                      "next_table_stage_no": 7
                     }
                   ],
                   "immediate_fields": []
                 },
                 {
                   "action_name": "FabricIngress.filtering.permit_with_internal_vlan",
-                  "action_handle": 536870923,
+                  "action_handle": 536870937,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 112,
                   "vliw_instruction": 2,
-                  "vliw_instruction_full": 69,
+                  "vliw_instruction_full": 66,
                   "next_tables": [
                     {
-                      "next_table_name": "tbl_act_15",
+                      "next_table_name": "",
                       "next_table_logical_id": 0,
-                      "next_table_stage_no": 4
+                      "next_table_stage_no": 7
                     }
                   ],
                   "immediate_fields": [
@@ -111468,7 +109164,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108866,
+          "handle": 67108867,
           "name": "FabricIngress.filtering.ingress_port_vlan_counter"
         }
       ],
@@ -111476,7 +109172,7 @@
       "actions": [
         {
           "name": "FabricIngress.filtering.deny",
-          "handle": 536870921,
+          "handle": 536870935,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -111519,7 +109215,7 @@
         },
         {
           "name": "FabricIngress.filtering.permit",
-          "handle": 536870922,
+          "handle": 536870936,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -111548,7 +109244,7 @@
         },
         {
           "name": "FabricIngress.filtering.permit_with_internal_vlan",
-          "handle": 536870923,
+          "handle": 536870937,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -111590,7 +109286,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870921,
+      "default_action_handle": 536870935,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -111639,16 +109335,16 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108866,
+      "handle": 67108867,
       "name": "FabricIngress.filtering.ingress_port_vlan_counter",
       "table_type": "statistics",
       "size": 2048,
       "stage_tables": [
         {
-          "stage_number": 3,
+          "stage_number": 6,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 4,
+          "logical_table_id": 0,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -111677,7790 +109373,9 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777237,
-      "name": "tbl_act_15",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 4,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": true,
-            "default_next_table": 65,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 1 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 4,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_15",
-                  "action_handle": 536870942,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 65,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.spgw_ingress.flexible_pdr_lookup",
-                      "next_table_logical_id": 1,
-                      "next_table_stage_no": 4
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_15",
-          "handle": 536870942,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ipv4_len" },
-              "dst_mask": { "type": "immediate", "name": "65535" },
-              "src1": { "type": "phv", "name": "hdr.ipv4.total_len" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870942,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_15",
-      "handle": 1879048214,
-      "name": "cond-11",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 112, "true": 64 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "", "true": "tbl_act_15" },
-          "logical_table_id": 0,
-          "stage_number": 4,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [ { "name": "spgw_ingress_hasReturned", "start_bit": 2, "bit_width": 1 } ],
-      "condition": "(!spgw_ingress_hasReturned)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777238,
-      "name": "FabricIngress.spgw_ingress.flexible_pdr_lookup",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 4,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "default_next_table": 80,
-            "pack_format": [
-              {
-                "table_word_width": 188,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 4,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--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": "--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": "--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": "--tcam_payload_3--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_3--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "l4_sport",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "ipv4_src",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "l4_dport",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "l4_dport",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ipv4_dst",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "tunnel_ipv4_dst",
-                        "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": "ipv4_dst",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ip_proto",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "tunnel_ipv4_dst",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "teid",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "tunnel_ipv4_dst",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "teid",
-                        "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": "teid",
-                        "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": "ipv4_src",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "ipv4_src",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "ipv4_dst",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "ipv4_dst",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 4,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "spgw_direction",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 41,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 43,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "zero",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 0, 1, 2, 3 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 3
-            },
-            "result_physical_buses": [ 0 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 4,
-              "stage_table_type": "ternary_indirection",
-              "size": 32768,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": {
-                "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 2
-              },
-              "action_format": [
-                {
-                  "action_name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-                  "action_handle": 536870937,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 80,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
-                  "next_tables": [
-                    {
-                      "next_table_name": "FabricIngress.spgw_ingress.far_lookup",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 5
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554437,
-          "name": "FabricIngress.spgw_ingress.flexible_pdr_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870937,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.ctr_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "ctr_id" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_id" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "far_id" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            {
-              "name": "ctr_id",
-              "start_bit": 0,
-              "position": 0,
-              "default_value": "0x0",
-              "bit_width": 32
-            },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "default_value": "0x0",
-              "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
-        }
-      ],
-      "default_action_handle": 536870937,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "spgw_direction",
-          "global_name": "fabric_metadata.spgw.direction",
-          "start_bit": 0,
-          "bit_width": 2,
-          "bit_width_full": 2,
-          "position": 0,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "direction"
-        },
-        {
-          "name": "tunnel_ipv4_dst",
-          "global_name": "fabric_metadata.spgw.tunnel_dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 1,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "tunnel_dst_addr"
-        },
-        {
-          "name": "teid",
-          "global_name": "fabric_metadata.spgw.teid",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 2,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "teid"
-        },
-        {
-          "name": "ipv4_src",
-          "global_name": "hdr.ipv4.src_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 3,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "src_addr"
-        },
-        {
-          "name": "ipv4_dst",
-          "global_name": "hdr.ipv4.dst_addr",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 4,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "dst_addr"
-        },
-        {
-          "name": "ip_proto",
-          "global_name": "hdr.ipv4.protocol",
-          "start_bit": 0,
-          "bit_width": 8,
-          "bit_width_full": 8,
-          "position": 5,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "hdr.ipv4",
-          "field_name": "protocol"
-        },
-        {
-          "name": "l4_sport",
-          "global_name": "fabric_metadata.l4_sport",
-          "start_bit": 0,
-          "bit_width": 16,
-          "bit_width_full": 16,
-          "position": 6,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "l4_sport"
-        },
-        {
-          "name": "l4_dport",
-          "global_name": "fabric_metadata.l4_dport",
-          "start_bit": 0,
-          "bit_width": 16,
-          "bit_width_full": 16,
-          "position": 7,
-          "match_type": "ternary",
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "l4_dport"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "FabricIngress.spgw_ingress.flexible_pdr_lookup",
-      "handle": 1879048215,
-      "name": "cond-12",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 80, "true": 65 },
-          "memory_resource_allocation": { "memory_unit": 1, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": {
-            "false": "FabricIngress.spgw_ingress.far_lookup",
-            "true": "FabricIngress.spgw_ingress.flexible_pdr_lookup"
-          },
-          "logical_table_id": 1,
-          "stage_number": 4,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.pdr_hit",
-          "start_bit": 3,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.pdr_hit == 0)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554437,
-      "name": "FabricIngress.spgw_ingress.flexible_pdr_lookup$action",
-      "table_type": "action",
-      "size": 2048,
-      "stage_tables": [
-        {
-          "stage_number": 4,
-          "size": 2048,
-          "stage_table_type": "action_data",
-          "logical_table_id": 1,
-          "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,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "ctr_id"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 112,
-                      "field_name": "far_id"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "ctr_id"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "far_id"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "far_id"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870937
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.set_pdr_attributes",
-          "handle": 536870937,
-          "p4_parameters": [
-            { "name": "ctr_id", "start_bit": 0, "position": 0, "bit_width": 32 },
-            {
-              "name": "far_id",
-              "start_bit": 32,
-              "position": 1,
-              "bit_width": 32
-            }
-          ]
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777239,
-      "name": "FabricIngress.spgw_ingress.far_lookup",
-      "table_type": "match",
-      "size": 4096,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554438,
-          "name": "FabricIngress.spgw_ingress.far_lookup$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870939,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "far_id",
-          "global_name": "fabric_metadata.spgw.far_id",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "position": 0,
-          "match_type": "exact",
-          "is_valid": false,
-          "instance_name": "fabric_metadata.spgw",
-          "field_name": "far_id"
-        }
-      ],
-      "ap_bind_indirect_res_to_match": [],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 5,
-            "size": 4096,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": false,
-            "default_next_table": 255,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 4,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 15,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 17,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 20,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 48
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 49
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 42
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 43
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 46
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 40
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 41
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 44
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 45
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "far_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 47
-                      }
-                    ],
-                    "hash_bit": 39,
-                    "seed": 1
-                  }
-                ],
-                "hash_function_number": 0,
-                "ghost_bit_to_hash_bit": [
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ],
-                  [ 0, 11, 22, 33 ],
-                  [ 1, 12, 23, 34 ],
-                  [ 2, 13, 24, 35 ],
-                  [ 3, 14, 25, 36 ],
-                  [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ]
-                ],
-                "ghost_bit_info": [
-                  { "field_name": "far_id", "bit_in_match_spec": 14 },
-                  { "field_name": "far_id", "bit_in_match_spec": 15 },
-                  { "field_name": "far_id", "bit_in_match_spec": 16 },
-                  { "field_name": "far_id", "bit_in_match_spec": 17 },
-                  { "field_name": "far_id", "bit_in_match_spec": 18 },
-                  { "field_name": "far_id", "bit_in_match_spec": 19 },
-                  { "field_name": "far_id", "bit_in_match_spec": 20 },
-                  { "field_name": "far_id", "bit_in_match_spec": 29 },
-                  { "field_name": "far_id", "bit_in_match_spec": 30 },
-                  { "field_name": "far_id", "bit_in_match_spec": 31 }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "FabricIngress.spgw_ingress.load_normal_far_attributes",
-                "action_handle": 536870939,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 81,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 65,
-                "next_tables": [
-                  {
-                    "next_table_name": "tbl_act_13",
-                    "next_table_logical_id": 1,
-                    "next_table_stage_no": 5
-                  }
-                ],
-                "immediate_fields": []
-              },
-              {
-                "action_name": "FabricIngress.spgw_ingress.load_tunnel_far_attributes",
-                "action_handle": 536870940,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 81,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
-                "next_tables": [
-                  {
-                    "next_table_name": "tbl_act_13",
-                    "next_table_logical_id": 1,
-                    "next_table_stage_no": 5
-                  }
-                ],
-                "immediate_fields": []
-              }
-            ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "stash_allocation": {
-              "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": [
-                        {
-                          "field_name": "far_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 32,
-                          "start_bit": 21,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "field_name": "far_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 50,
-                          "start_bit": 0,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 6
-                        },
-                        {
-                          "field_name": "far_id",
-                          "source": "spec",
-                          "lsb_mem_word_offset": 40,
-                          "start_bit": 6,
-                          "immediate_name": "",
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "match_mode": "unused",
-                          "enable_pfe": false,
-                          "field_width": 8
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action",
-                          "match_mode": "unused"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "num_stash_entries": 2,
-              "stash_entries": [
-                [
-                  {
-                    "stash_entry_id": 28,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ],
-                [
-                  {
-                    "stash_entry_id": 29,
-                    "stash_match_data_select": 0,
-                    "stash_hashbank_select": 0,
-                    "hash_function_id": 0
-                  }
-                ]
-              ]
-            },
-            "ways": [
-              {
-                "stage_number": 5,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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": 5,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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": 5,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "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 ] } ]
-                }
-              },
-              {
-                "stage_number": 5,
-                "way_number": 3,
-                "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,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 32,
-                            "start_bit": 21,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 50,
-                            "start_bit": 0,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "far_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 6,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 31,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "--padding_1_31--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 48,
-                            "field_name": "--padding_48_49--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "enable_pfe": false,
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 30,
-                  "hash_entry_bit_hi": 39,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 89 ], "vpns": [ 3 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.load_normal_far_attributes",
-          "handle": 536870939,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_dropped" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "action_param", "name": "drop" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            {
-              "name": "drop",
-              "start_bit": 0,
-              "position": 0,
-              "default_value": "0x1",
-              "bit_width": 1
-            },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "default_value": "0x0",
-              "bit_width": 1
-            }
-          ],
-          "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
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.load_tunnel_far_attributes",
-          "handle": 536870940,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.far_dropped" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "action_param", "name": "drop" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": {
-                "type": "phv",
-                "name": "fabric_metadata.spgw.outer_header_creation"
-              },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.teid" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "teid" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.spgw.tunnel_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_src_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_src_addr" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.ipv4_dst_addr" },
-              "dst_mask": { "type": "immediate", "name": "0" },
-              "src1": { "type": "action_param", "name": "tunnel_dst_addr" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": false,
-          "disallowed_as_default_action_reason": "has_const_default",
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "p4_parameters": [
-            {
-              "name": "drop",
-              "start_bit": 0,
-              "position": 0,
-              "default_value": "0x1",
-              "bit_width": 1
-            },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "default_value": "0x0",
-              "bit_width": 1
-            },
-            {
-              "name": "tunnel_src_addr",
-              "start_bit": 2,
-              "position": 2,
-              "bit_width": 32
-            },
-            {
-              "name": "tunnel_dst_addr",
-              "start_bit": 34,
-              "position": 3,
-              "bit_width": 32
-            },
-            { "name": "teid", "start_bit": 66, "position": 4, "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
-        }
-      ],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554438,
-      "name": "FabricIngress.spgw_ingress.far_lookup$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 5,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 0,
-          "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,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "drop"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 127,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "--padding_1_127--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870939
-            },
-            {
-              "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,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "enable_pfe": false,
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "drop"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "teid"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "tunnel_src_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "tunnel_src_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "tunnel_dst_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "tunnel_dst_addr"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 30,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "enable_pfe": false,
-                      "lsb_mem_word_offset": 2,
-                      "field_name": "--padding_2_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870940
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 90 ], "vpns": [ 0 ] },
-              { "memory_units": [ 91 ], "vpns": [ 1 ] },
-              { "memory_units": [ 92 ], "vpns": [ 2 ] },
-              { "memory_units": [ 93 ], "vpns": [ 3 ] }
-            ]
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "FabricIngress.spgw_ingress.load_normal_far_attributes",
-          "handle": 536870939,
-          "p4_parameters": [
-            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "bit_width": 1
-            }
-          ]
-        },
-        {
-          "name": "FabricIngress.spgw_ingress.load_tunnel_far_attributes",
-          "handle": 536870940,
-          "p4_parameters": [
-            { "name": "drop", "start_bit": 0, "position": 0, "bit_width": 1 },
-            {
-              "name": "notify_cp",
-              "start_bit": 1,
-              "position": 1,
-              "bit_width": 1
-            },
-            {
-              "name": "tunnel_src_addr",
-              "start_bit": 2,
-              "position": 2,
-              "bit_width": 32
-            },
-            {
-              "name": "tunnel_dst_addr",
-              "start_bit": 34,
-              "position": 3,
-              "bit_width": 32
-            },
-            { "name": "teid", "start_bit": 66, "position": 4, "bit_width": 32 }
-          ]
-        }
-      ],
-      "static_entries": [],
-      "how_referenced": "direct"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777240,
-      "name": "tbl_act_13",
-      "table_type": "match",
-      "size": 8388608,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 5,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 0,
-                "entries_per_table_word": 0,
-                "number_memory_units_per_table_word": 0
-              }
-            ],
-            "result_physical_buses": [ 0 ],
-            "action_format": [
-              {
-                "action_name": "act_13",
-                "action_handle": 536870938,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 64,
-                "next_tables": [],
-                "immediate_fields": []
-              }
-            ]
-          }
-        ],
-        "match_type": "match_with_no_key"
-      },
-      "actions": [
-        {
-          "name": "act_13",
-          "handle": 536870938,
-          "primitives": [
-            {
-              "name": "CountFromHashPrimitive",
-              "dst": {
-                "type": "counter",
-                "name": "FabricIngress.spgw_ingress.pdr_counter"
-              },
-              "idx": {
-                "type": "hash",
-                "name": "hash_FabricIngress.spgw_ingress.pdr_counter",
-                "algorithm": "identity"
-              },
-              "hash_inputs": [
-                "compiler_generated_meta.bridged_metadata.fields_md_spgw_ctr_id"
-              ]
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": true,
-          "override_stat_addr_pfe": true,
-          "override_stat_full_addr": 524288,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false
-        }
-      ],
-      "default_action_handle": 536870938,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "indirect",
-          "handle": 67108867,
-          "name": "FabricIngress.spgw_ingress.pdr_counter"
-        }
-      ],
-      "stateful_table_refs": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_13",
-      "handle": 1879048216,
-      "name": "tbl_act_13-gateway",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 96, "true": 96 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "tbl_act_14", "true": "tbl_act_14" },
-          "logical_table_id": 1,
-          "stage_number": 5,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [],
-      "condition": "true(always hit)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108867,
-      "name": "FabricIngress.spgw_ingress.pdr_counter",
-      "table_type": "statistics",
-      "size": 1024,
-      "stage_tables": [
-        {
-          "stage_number": 5,
-          "size": 1024,
-          "stage_table_type": "statistics",
-          "logical_table_id": 1,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 1,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 78 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 79
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "indirect",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 64,
-      "packet_counter_resolution": 64,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777241,
-      "name": "tbl_act_14",
-      "table_type": "match",
-      "size": 0,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 6,
-            "size": 0,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 0,
-            "has_attached_gateway": true,
-            "default_next_table": 112,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": null,
-            "result_physical_buses": [ 0 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 6,
-              "stage_table_type": "ternary_indirection",
-              "size": 0,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 32,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 31,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 124,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 125,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 30,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 29,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 116,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 117,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 28,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 27,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 108,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 109,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 26,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 25,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 100,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 101,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 24,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 23,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 92,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 93,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 22,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 21,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 84,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 85,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 20,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 19,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 76,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 77,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 18,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 17,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 68,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 69,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 16,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 60,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 61,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 52,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 53,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 44,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 45,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 36,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 37,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 28,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 29,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 20,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 21,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 12,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 13,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 4,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 5,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "field_width": 3,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "enable_pfe": false,
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "--padding_1_3--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": null,
-              "action_format": [
-                {
-                  "action_name": "act_14",
-                  "action_handle": 536870941,
-                  "table_name": "--END_OF_PIPELINE--",
-                  "next_table": 0,
-                  "next_table_full": 112,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "next_tables": [
-                    {
-                      "next_table_name": "",
-                      "next_table_logical_id": 0,
-                      "next_table_stage_no": 7
-                    }
-                  ],
-                  "immediate_fields": []
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "act_14",
-          "handle": 536870941,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.skip_forwarding" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "operation": "set",
-              "dst": { "type": "phv", "name": "fabric_metadata.skip_next" },
-              "dst_mask": { "type": "immediate", "name": "1" },
-              "src1": { "type": "immediate", "name": "1" }
-            }
-          ],
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "is_compiler_added_action": false,
-          "constant_default_action": false,
-          "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
-        }
-      ],
-      "default_action_handle": 536870941,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "default_next_table_default": 0,
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "ap_bind_indirect_res_to_match": [],
-      "static_entries": []
-    },
-    {
-      "direction": "ingress",
-      "attached_to": "tbl_act_14",
-      "handle": 1879048217,
-      "name": "cond-13",
-      "table_type": "condition",
-      "stage_tables": [
-        {
-          "next_tables": { "false": 112, "true": 96 },
-          "memory_resource_allocation": { "memory_unit": 0, "memory_type": "gateway", "payload_buses": [] },
-          "pack_format": [],
-          "next_table_names": { "false": "", "true": "tbl_act_14" },
-          "logical_table_id": 0,
-          "stage_number": 6,
-          "stage_table_type": "gateway",
-          "size": 0
-        }
-      ],
-      "condition_fields": [
-        {
-          "name": "fabric_metadata.spgw.far_dropped",
-          "start_bit": 3,
-          "bit_width": 1
-        }
-      ],
-      "condition": "(fabric_metadata.spgw.far_dropped == 1)",
-      "size": 0
-    },
-    {
-      "direction": "ingress",
       "attached_to": "-",
-      "handle": 1879048218,
-      "name": "cond-14",
+      "handle": 1879048211,
+      "name": "cond-8",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -119489,7 +109404,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777242,
+      "handle": 16777230,
       "name": "FabricIngress.forwarding.bridging",
       "table_type": "match",
       "size": 2048,
@@ -120449,7 +110364,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870944,
+                  "action_handle": 536870940,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 4294967295,
                   "next_table_full": 144,
@@ -120466,7 +110381,7 @@
                 },
                 {
                   "action_name": "FabricIngress.forwarding.set_next_id_bridging",
-                  "action_handle": 536870943,
+                  "action_handle": 536870939,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -120490,7 +110405,7 @@
       "action_data_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 33554439,
+          "handle": 33554438,
           "name": "FabricIngress.forwarding.bridging$action"
         }
       ],
@@ -120507,7 +110422,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870944,
+          "handle": 536870940,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -120528,7 +110443,7 @@
         },
         {
           "name": "FabricIngress.forwarding.set_next_id_bridging",
-          "handle": 536870943,
+          "handle": 536870939,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -120570,7 +110485,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870944,
+      "default_action_handle": 536870940,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -120608,8 +110523,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.forwarding.bridging",
-      "handle": 1879048219,
-      "name": "cond-15",
+      "handle": 1879048212,
+      "name": "cond-9",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -120626,8 +110541,8 @@
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 0, "bit_width": 3 } ],
-      "condition": "(fabric_metadata.fwd_type == 0)",
+      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 } ],
+      "condition": "(compiler_generated_meta.^bridged_metadata.^fields_md_fwd_type == 0)",
       "size": 0
     },
     {
@@ -120670,7 +110585,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 33554439,
+      "handle": 33554438,
       "name": "FabricIngress.forwarding.bridging$action",
       "table_type": "action",
       "size": 4096,
@@ -120748,7 +110663,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870943
+              "action_handle": 536870939
             },
             {
               "memory_word_width": 128,
@@ -120817,7 +110732,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870944
+              "action_handle": 536870940
             }
           ],
           "memory_resource_allocation": {
@@ -120829,7 +110744,7 @@
       "actions": [
         {
           "name": "FabricIngress.forwarding.set_next_id_bridging",
-          "handle": 536870943,
+          "handle": 536870939,
           "p4_parameters": [
             {
               "name": "next_id",
@@ -120839,14 +110754,14 @@
             }
           ]
         },
-        { "name": "nop", "handle": 536870944, "p4_parameters": [] }
+        { "name": "nop", "handle": 536870940, "p4_parameters": [] }
       ],
       "static_entries": [],
       "how_referenced": "direct"
     },
     {
       "direction": "ingress",
-      "handle": 16777243,
+      "handle": 16777231,
       "name": "FabricIngress.forwarding.mpls",
       "table_type": "match",
       "size": 2048,
@@ -120861,7 +110776,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870946,
+      "default_action_handle": 536870942,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -120897,181 +110812,43 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 4,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 4,
+                    "hash_bit": 0,
                     "seed": 0
                   },
                   {
@@ -121089,6 +110866,90 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121099,12 +110960,108 @@
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 4,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 19,
@@ -121119,40 +111076,16 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 6,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 17,
@@ -121161,10 +111094,10 @@
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 0,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 36
                       }
                     ],
                     "hash_bit": 6,
@@ -121173,42 +111106,12 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121221,16 +111124,58 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 1,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
                       }
                     ],
                     "hash_bit": 8,
@@ -121239,12 +111184,6 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121257,10 +111196,16 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 16,
@@ -121269,16 +111214,10 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 3,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 39
                       }
                     ],
                     "hash_bit": 9,
@@ -121287,46 +111226,10 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
+                        "field_bit": 14,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 10,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 15,
@@ -121335,140 +111238,20 @@
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 3,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 39
                       }
                     ],
-                    "hash_bit": 14,
-                    "seed": 1
+                    "hash_bit": 10,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -121479,31 +111262,37 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 15,
+                    "hash_bit": 11,
                     "seed": 0
                   },
                   {
@@ -121521,10 +111310,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 15,
@@ -121533,13 +111322,31 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 16,
+                    "hash_bit": 12,
                     "seed": 1
                   },
                   {
@@ -121557,10 +111364,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 13,
@@ -121575,14 +111382,14 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 17,
-                    "seed": 1
+                    "hash_bit": 13,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -121593,90 +111400,18 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121713,7 +111448,43 @@
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 20,
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 15,
                     "seed": 1
                   },
                   {
@@ -121725,30 +111496,6 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121761,34 +111508,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 13,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 14,
@@ -121797,6 +111520,12 @@
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121815,46 +111544,70 @@
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 23,
-                    "seed": 1
+                    "hash_bit": 16,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
                       }
                     ],
-                    "hash_bit": 24,
+                    "hash_bit": 17,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 13,
@@ -121863,12 +111616,312 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 19,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
                       },
                       {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 20,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 39
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -121881,222 +111934,24 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 8,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122115,13 +111970,25 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 31,
+                    "hash_bit": 26,
                     "seed": 0
                   },
                   {
@@ -122133,6 +112000,12 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122149,20 +112022,20 @@
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 32,
+                    "hash_bit": 27,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122175,48 +112048,6 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122229,52 +112060,34 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
                         "field_bit": 19,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
                       }
                     ],
-                    "hash_bit": 34,
+                    "hash_bit": 28,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 12,
@@ -122295,12 +112108,228 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 37
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 39
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122314,21 +112343,33 @@
                       }
                     ],
                     "hash_bit": 35,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 7,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 11,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 18,
@@ -122338,15 +112379,15 @@
                       }
                     ],
                     "hash_bit": 36,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
+                        "field_bit": 8,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 10,
@@ -122355,6 +112396,36 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
@@ -122373,52 +112444,10 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
+                        "field_bit": 9,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "mpls_label",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 12,
@@ -122433,10 +112462,76 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "mpls_label",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "mpls_label",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
                       }
                     ],
                     "hash_bit": 39,
@@ -122445,16 +112540,16 @@
                 ],
                 "hash_function_number": 0,
                 "ghost_bit_to_hash_bit": [
+                  [ 6, 17, 28, 39 ],
+                  [ 7, 18, 29, 30 ],
+                  [ 8, 19, 20, 31 ],
+                  [ 9, 10, 21, 32 ],
                   [ 0, 11, 22, 33 ],
                   [ 1, 12, 23, 34 ],
                   [ 2, 13, 24, 35 ],
                   [ 3, 14, 25, 36 ],
                   [ 4, 15, 26, 37 ],
-                  [ 5, 16, 27, 38 ],
-                  [ 6, 17, 28, 39 ],
-                  [ 7, 18, 29, 30 ],
-                  [ 8, 19, 20, 31 ],
-                  [ 9, 10, 21, 32 ]
+                  [ 5, 16, 27, 38 ]
                 ],
                 "ghost_bit_info": [
                   { "field_name": "mpls_label", "bit_in_match_spec": 0 },
@@ -122473,7 +112568,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870946,
+                "action_handle": 536870942,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 144,
@@ -122490,7 +112585,7 @@
               },
               {
                 "action_name": "FabricIngress.forwarding.pop_mpls_and_next",
-                "action_handle": 536870945,
+                "action_handle": 536870941,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 144,
@@ -123100,7 +113195,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870946,
+          "handle": 536870942,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -123120,7 +113215,7 @@
         },
         {
           "name": "FabricIngress.forwarding.pop_mpls_and_next",
-          "handle": 536870945,
+          "handle": 536870941,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -123174,8 +113269,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.forwarding.mpls",
-      "handle": 1879048220,
-      "name": "cond-16",
+      "handle": 1879048213,
+      "name": "cond-10",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -123192,8 +113287,8 @@
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 0, "bit_width": 3 } ],
-      "condition": "(fabric_metadata.fwd_type == 1)",
+      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 } ],
+      "condition": "(compiler_generated_meta.^bridged_metadata.^fields_md_fwd_type == 1)",
       "size": 0
     },
     {
@@ -123238,7 +113333,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777244,
+      "handle": 16777232,
       "name": "FabricIngress.forwarding.routing_v4",
       "table_type": "match",
       "size": 30000,
@@ -123246,7 +113341,7 @@
         "match_type": "algorithmic_lpm",
         "pre_classifier": {
           "direction": "ingress",
-          "handle": 16777263,
+          "handle": 16777250,
           "name": "FabricIngress.forwarding.routing_v4_pre_classifier",
           "table_type": "match",
           "size": 30000,
@@ -124161,12 +114256,12 @@
                   "action_format": [
                     {
                       "action_name": "forwarding_routing_v4__alpm_preclassifier__set_partition_index",
-                      "action_handle": 536870947,
+                      "action_handle": 536870943,
                       "table_name": "--END_OF_PIPELINE--",
                       "next_table": 0,
                       "next_table_full": 128,
                       "vliw_instruction": 1,
-                      "vliw_instruction_full": 67,
+                      "vliw_instruction_full": 68,
                       "next_tables": [
                         {
                           "next_table_name": "FabricIngress.forwarding.routing_v4",
@@ -124185,7 +114280,7 @@
           "action_data_table_refs": [
             {
               "how_referenced": "direct",
-              "handle": 33554440,
+              "handle": 33554439,
               "name": "FabricIngress.forwarding.routing_v4_preclassifier$action"
             }
           ],
@@ -124196,7 +114291,7 @@
           "actions": [
             {
               "name": "forwarding_routing_v4__alpm_preclassifier__set_partition_index",
-              "handle": 536870947,
+              "handle": 536870943,
               "primitives": [
                 {
                   "name": "ModifyFieldPrimitive",
@@ -124234,7 +114329,7 @@
               "is_action_meter_color_aware": false
             }
           ],
-          "default_action_handle": 536870947,
+          "default_action_handle": 536870943,
           "action_profile": "",
           "default_next_table_mask": 0,
           "default_next_table_default": 0,
@@ -124261,15 +114356,15 @@
         "partition_field_name": "partition_index",
         "lpm_field_name": "ipv4_dst",
         "bins_per_partition": 30,
-        "set_partition_action_handle": 536870947,
+        "set_partition_action_handle": 536870943,
         "stage_tables": [],
         "atcam_table": {
           "direction": "ingress",
-          "handle": 16777264,
+          "handle": 16777251,
           "name": "FabricIngress.forwarding.routing_v4",
           "table_type": "match",
           "size": 30000,
-          "default_action_handle": 536870950,
+          "default_action_handle": 536870946,
           "action_profile": "",
           "default_next_table_mask": 0,
           "default_next_table_default": 0,
@@ -124295,11 +114390,11 @@
             "units": [
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt0",
                 "size": 5120,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -124332,7 +114427,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -124349,7 +114444,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124374,7 +114469,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124565,7 +114660,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124585,7 +114680,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124612,7 +114707,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124640,11 +114735,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt1",
                 "size": 5120,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -124677,7 +114772,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -124694,7 +114789,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124719,7 +114814,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -124910,7 +115005,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124930,7 +115025,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124957,7 +115052,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -124985,11 +115080,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt2",
                 "size": 5120,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -125022,7 +115117,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -125039,7 +115134,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125064,7 +115159,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125255,7 +115350,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125275,7 +115370,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125302,7 +115397,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125330,11 +115425,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt3",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -125367,7 +115462,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -125384,7 +115479,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125409,7 +115504,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125596,7 +115691,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125616,7 +115711,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125643,7 +115738,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125671,11 +115766,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt4",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -125708,7 +115803,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -125725,7 +115820,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125750,7 +115845,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -125937,7 +116032,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125957,7 +116052,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -125984,7 +116079,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126012,11 +116107,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt5",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -126049,7 +116144,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -126066,7 +116161,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126091,7 +116186,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126278,7 +116373,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126298,7 +116393,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126325,7 +116420,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126353,11 +116448,11 @@
               },
               {
                 "direction": "ingress",
-                "handle": 16777264,
+                "handle": 16777251,
                 "name": "forwarding_routing_v4$atcam$lt6",
                 "size": 4096,
                 "table_type": "match",
-                "default_action_handle": 536870950,
+                "default_action_handle": 536870946,
                 "action_profile": "",
                 "default_next_table_mask": 0,
                 "default_next_table_default": 0,
@@ -126390,7 +116485,7 @@
                       "action_format": [
                         {
                           "action_name": "nop",
-                          "action_handle": 536870950,
+                          "action_handle": 536870946,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 4294967295,
                           "next_table_full": 144,
@@ -126407,7 +116502,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                          "action_handle": 536870948,
+                          "action_handle": 536870944,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126432,7 +116527,7 @@
                         },
                         {
                           "action_name": "FabricIngress.forwarding.nop_routing_v4",
-                          "action_handle": 536870949,
+                          "action_handle": 536870945,
                           "table_name": "--END_OF_PIPELINE--",
                           "next_table": 0,
                           "next_table_full": 144,
@@ -126619,7 +116714,7 @@
                 "actions": [
                   {
                     "name": "nop",
-                    "handle": 536870950,
+                    "handle": 536870946,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126639,7 +116734,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-                    "handle": 536870948,
+                    "handle": 536870944,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126666,7 +116761,7 @@
                   },
                   {
                     "name": "FabricIngress.forwarding.nop_routing_v4",
-                    "handle": 536870949,
+                    "handle": 536870945,
                     "primitives": [],
                     "indirect_resources": [],
                     "allowed_as_default_action": true,
@@ -126700,7 +116795,7 @@
           "actions": [
             {
               "name": "nop",
-              "handle": 536870950,
+              "handle": 536870946,
               "primitives": [],
               "indirect_resources": [],
               "allowed_as_default_action": true,
@@ -126720,7 +116815,7 @@
             },
             {
               "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-              "handle": 536870948,
+              "handle": 536870944,
               "primitives": [],
               "indirect_resources": [],
               "allowed_as_default_action": true,
@@ -126747,7 +116842,7 @@
             },
             {
               "name": "FabricIngress.forwarding.nop_routing_v4",
-              "handle": 536870949,
+              "handle": 536870945,
               "primitives": [],
               "indirect_resources": [],
               "allowed_as_default_action": true,
@@ -126773,7 +116868,7 @@
           "stateful_table_refs": []
         }
       },
-      "default_action_handle": 536870950,
+      "default_action_handle": 536870946,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -126797,7 +116892,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870950,
+          "handle": 536870946,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -126817,7 +116912,7 @@
         },
         {
           "name": "FabricIngress.forwarding.set_next_id_routing_v4",
-          "handle": 536870948,
+          "handle": 536870944,
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
@@ -126894,7 +116989,7 @@
         },
         {
           "name": "FabricIngress.forwarding.nop_routing_v4",
-          "handle": 536870949,
+          "handle": 536870945,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -126922,8 +117017,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.forwarding.routing_v4",
-      "handle": 1879048221,
-      "name": "cond-17",
+      "handle": 1879048214,
+      "name": "cond-11",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -126940,13 +117035,13 @@
           "size": 0
         }
       ],
-      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 0, "bit_width": 3 } ],
-      "condition": "(fabric_metadata.fwd_type == 2)",
+      "condition_fields": [ { "name": "fabric_metadata.fwd_type", "start_bit": 1, "bit_width": 3 } ],
+      "condition": "(compiler_generated_meta.^bridged_metadata.^fields_md_fwd_type == 2)",
       "size": 0
     },
     {
       "direction": "ingress",
-      "handle": 33554440,
+      "handle": 33554439,
       "name": "FabricIngress.forwarding.routing_v4_preclassifier$action",
       "table_type": "action",
       "size": 4096,
@@ -127104,7 +117199,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870947
+              "action_handle": 536870943
             }
           ],
           "memory_resource_allocation": {
@@ -127116,7 +117211,7 @@
       "actions": [
         {
           "name": "forwarding_routing_v4__alpm_preclassifier__set_partition_index",
-          "handle": 536870947,
+          "handle": 536870943,
           "p4_parameters": [
             {
               "name": "partition_index",
@@ -127132,7 +117227,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777245,
+      "handle": 16777233,
       "name": "FabricIngress.acl.acl",
       "table_type": "match",
       "size": 2048,
@@ -127273,30 +117368,48 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "ipv4_src",
+                        "field_name": "ip_proto",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 5,
                         "msb_mem_word_idx": 5,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 32
-                      },
-                      {
-                        "field_name": "ig_port",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 5,
-                        "msb_mem_word_idx": 5,
-                        "source": "spec",
-                        "start_bit": 0,
                         "field_width": 8
                       },
                       {
                         "field_name": "ipv4_dst",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 16
+                      },
+                      {
+                        "field_name": "icmp_type",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_dst",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "icmp_code",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
                         "source": "spec",
-                        "start_bit": 16,
+                        "start_bit": 0,
                         "field_width": 8
                       },
                       {
@@ -127309,7 +117422,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "eth_dst",
+                        "field_name": "eth_src",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
@@ -127318,179 +117431,71 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4_dst",
+                        "field_name": "eth_dst",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
+                        "start_bit": 24,
+                        "field_width": 16
                       },
                       {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 4,
-                        "msb_mem_word_idx": 4,
-                        "source": "spec",
-                        "start_bit": 32,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
+                        "field_name": "ipv4_src",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
                         "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_src",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_src",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_type",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 3,
-                        "msb_mem_word_idx": 3,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "eth_dst",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
                         "start_bit": 24,
                         "field_width": 8
                       },
                       {
-                        "field_name": "eth_src",
+                        "field_name": "ipv4_src",
                         "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 32,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "eth_src",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 16,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "eth_type",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "icmp_type",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "icmp_code",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 24
                       },
                       {
                         "field_name": "l4_sport",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
                         "source": "spec",
                         "start_bit": 8,
                         "field_width": 8
                       },
                       {
-                        "field_name": "l4_sport",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
+                        "field_name": "eth_src",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
+                        "start_bit": 24,
+                        "field_width": 24
                       },
                       {
                         "field_name": "l4_dport",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
                         "source": "spec",
                         "start_bit": 0,
                         "field_width": 16
                       },
                       {
-                        "field_name": "ip_proto",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "vlan_id",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "vlan_id",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
+                        "field_name": "l4_sport",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
                         "source": "spec",
                         "start_bit": 0,
                         "field_width": 8
                       },
                       {
                         "field_name": "ig_port",
-                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
@@ -127498,12 +117503,75 @@
                         "field_width": 1
                       },
                       {
+                        "field_name": "ig_port",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_dst",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_dst",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "eth_src",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16
+                      },
+                      {
+                        "field_name": "eth_type",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16
+                      },
+                      {
+                        "field_name": "vlan_id",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8
+                      },
+                      {
+                        "field_name": "vlan_id",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 4
+                      },
+                      {
                         "field_name": "ipv4_dst",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 5,
                         "msb_mem_word_idx": 5,
                         "source": "spec",
-                        "start_bit": 0,
+                        "start_bit": 24,
                         "field_width": 4
                       },
                       {
@@ -127512,7 +117580,7 @@
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
                         "source": "spec",
-                        "start_bit": 4,
+                        "start_bit": 28,
                         "field_width": 4
                       },
                       {
@@ -127521,7 +117589,7 @@
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
                         "source": "spec",
-                        "start_bit": 24,
+                        "start_bit": 0,
                         "field_width": 4
                       },
                       {
@@ -127530,16 +117598,7 @@
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
                         "source": "spec",
-                        "start_bit": 28,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "--unused--",
-                        "lsb_mem_word_offset": 29,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "zero",
-                        "start_bit": 0,
+                        "start_bit": 4,
                         "field_width": 4
                       },
                       {
@@ -127553,12 +117612,12 @@
                       },
                       {
                         "field_name": "--unused--",
-                        "lsb_mem_word_offset": 42,
+                        "lsb_mem_word_offset": 10,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "zero",
                         "start_bit": 0,
-                        "field_width": 3
+                        "field_width": 7
                       }
                     ]
                   }
@@ -127668,7 +117727,7 @@
               "action_format": [
                 {
                   "action_name": "FabricIngress.acl.set_next_id_acl",
-                  "action_handle": 536870951,
+                  "action_handle": 536870947,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127693,7 +117752,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.punt_to_cpu",
-                  "action_handle": 536870952,
+                  "action_handle": 536870948,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127719,7 +117778,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.set_clone_session_id",
-                  "action_handle": 536870953,
+                  "action_handle": 536870949,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127744,7 +117803,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.drop",
-                  "action_handle": 536870954,
+                  "action_handle": 536870950,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127761,7 +117820,7 @@
                 },
                 {
                   "action_name": "FabricIngress.acl.nop_acl",
-                  "action_handle": 536870955,
+                  "action_handle": 536870951,
                   "table_name": "--END_OF_PIPELINE--",
                   "next_table": 0,
                   "next_table_full": 160,
@@ -127796,7 +117855,7 @@
       "actions": [
         {
           "name": "FabricIngress.acl.set_next_id_acl",
-          "handle": 536870951,
+          "handle": 536870947,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127843,7 +117902,7 @@
         },
         {
           "name": "FabricIngress.acl.punt_to_cpu",
-          "handle": 536870952,
+          "handle": 536870948,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127890,7 +117949,7 @@
         },
         {
           "name": "FabricIngress.acl.set_clone_session_id",
-          "handle": 536870953,
+          "handle": 536870949,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127950,7 +118009,7 @@
         },
         {
           "name": "FabricIngress.acl.drop",
-          "handle": 536870954,
+          "handle": 536870950,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -127995,7 +118054,7 @@
         },
         {
           "name": "FabricIngress.acl.nop_acl",
-          "handle": 536870955,
+          "handle": 536870951,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -128027,7 +118086,7 @@
           "is_action_meter_color_aware": false
         }
       ],
-      "default_action_handle": 536870955,
+      "default_action_handle": 536870951,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -128222,7 +118281,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777246,
+      "handle": 16777234,
       "name": "FabricIngress.next.xconnect",
       "table_type": "match",
       "size": 4096,
@@ -128237,7 +118296,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870958,
+      "default_action_handle": 536870954,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -128291,16 +118350,106 @@
                         "hash_match_group_bit": 0
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
                       },
                       {
                         "field_bit": 4,
@@ -128327,120 +118476,12 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128459,6 +118500,30 @@
                         "hash_match_group_bit": 16
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128471,22 +118536,22 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 0,
@@ -128507,6 +118572,108 @@
                         "hash_match_group_bit": 1
                       },
                       {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 1,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 33
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
                         "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128531,114 +118698,6 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128657,28 +118716,58 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
                         "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       },
                       {
                         "field_bit": 2,
@@ -128688,15 +118777,27 @@
                       }
                     ],
                     "hash_bit": 3,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
+                        "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 1
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 9,
@@ -128705,6 +118806,12 @@
                         "hash_match_group_bit": 9
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128735,6 +118842,18 @@
                         "hash_match_group_bit": 17
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128747,16 +118866,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -128771,6 +118884,18 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -128783,12 +118908,24 @@
                   {
                     "bits_to_xor": [
                       {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128807,40 +118944,34 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 21,
@@ -128861,114 +118992,6 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -128987,6 +119010,114 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -129005,40 +119136,52 @@
                         "hash_match_group_bit": 1
                       },
                       {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
                         "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 6
                       },
                       {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -129047,18 +119190,24 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129071,22 +119220,16 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 30,
@@ -129107,10 +119250,16 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 1,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 5,
@@ -129119,10 +119268,16 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 15,
@@ -129143,6 +119298,12 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129155,6 +119316,102 @@
                         "hash_match_group_bit": 24
                       },
                       {
+                        "field_bit": 7,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 39
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129173,82 +119430,16 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 30
                       },
                       {
-                        "field_bit": 7,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 39
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       },
                       {
                         "field_bit": 8,
@@ -129258,15 +119449,27 @@
                       }
                     ],
                     "hash_bit": 9,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
+                        "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 1
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
                       },
                       {
                         "field_bit": 6,
@@ -129275,28 +119478,22 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
+                        "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 18,
@@ -129305,6 +119502,18 @@
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129317,12 +119526,6 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129335,6 +119538,12 @@
                         "hash_match_group_bit": 30
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -129365,102 +119574,6 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129473,132 +119586,12 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129629,6 +119622,228 @@
                         "hash_match_group_bit": 20
                       },
                       {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 11,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 0,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 32
+                      }
+                    ],
+                    "hash_bit": 12,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129654,93 +119869,21 @@
                       }
                     ],
                     "hash_bit": 13,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
                         "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 34
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 8,
@@ -129755,10 +119898,40 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -129785,22 +119958,106 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 34
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 29,
@@ -129833,114 +120090,6 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129965,18 +120114,6 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -129995,12 +120132,6 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130013,10 +120144,130 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 30,
@@ -130032,7 +120283,109 @@
                       }
                     ],
                     "hash_bit": 17,
-                    "seed": 1
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 18,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -130061,12 +120414,6 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130079,76 +120426,10 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      }
-                    ],
-                    "hash_bit": 18,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 16,
@@ -130157,16 +120438,34 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 28,
@@ -130188,39 +120487,21 @@
                       }
                     ],
                     "hash_bit": 19,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 8,
@@ -130229,22 +120510,22 @@
                         "hash_match_group_bit": 8
                       },
                       {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 15,
@@ -130253,22 +120534,28 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 23,
@@ -130283,12 +120570,24 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 7,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -130301,24 +120600,6 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130337,28 +120618,196 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 40
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 22,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -130379,10 +120828,10 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 23,
@@ -130391,16 +120840,10 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -130409,132 +120852,18 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 8,
+                        "field_bit": 0,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 40
+                        "hash_match_group_bit": 32
                       }
                     ],
-                    "hash_bit": 21,
+                    "hash_bit": 23,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 22,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 1,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130553,22 +120882,10 @@
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 10,
@@ -130577,12 +120894,6 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -130595,28 +120906,10 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 26,
@@ -130625,10 +120918,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 29,
@@ -130643,102 +120936,6 @@
                         "hash_match_group_bit": 31
                       },
                       {
-                        "field_bit": 0,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
                         "field_bit": 1,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -130757,28 +120954,16 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 6
+                        "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 11,
@@ -130787,10 +120972,22 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 24,
@@ -130799,10 +120996,28 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 2,
@@ -130812,7 +121027,7 @@
                       }
                     ],
                     "hash_bit": 25,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -130823,28 +121038,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
                         "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 6
                       },
                       {
                         "field_bit": 7,
@@ -130859,16 +121062,46 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 26,
@@ -130877,6 +121110,24 @@
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -130895,10 +121146,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 5,
@@ -130907,130 +121164,16 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 36
-                      }
-                    ],
-                    "hash_bit": 27,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
                         "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 13,
@@ -131045,22 +121188,34 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 22,
@@ -131069,6 +121224,30 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131081,6 +121260,114 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 27,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
@@ -131093,96 +121380,12 @@
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 1,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 38
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
                         "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131195,24 +121398,12 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
                         "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131225,6 +121416,12 @@
                         "hash_match_group_bit": 13
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131237,16 +121434,10 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 21,
@@ -131255,22 +121446,142 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 38
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       },
                       {
                         "field_bit": 30,
@@ -131292,7 +121603,7 @@
                       }
                     ],
                     "hash_bit": 30,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -131303,12 +121614,6 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
                         "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131333,52 +121638,16 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 9
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 22,
@@ -131387,10 +121656,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 26,
@@ -131399,16 +121668,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       },
                       {
                         "field_bit": 7,
@@ -131441,12 +121704,6 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
                         "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131459,34 +121716,40 @@
                         "hash_match_group_bit": 10
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 20,
@@ -131507,18 +121770,24 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131543,6 +121812,18 @@
                         "hash_match_group_bit": 0
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131555,16 +121836,16 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 5,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 8
+                        "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 11,
@@ -131579,300 +121860,6 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 32
-                      }
-                    ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 33
-                      }
-                    ],
-                    "hash_bit": 35,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -131909,10 +121896,16 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 29,
@@ -131921,14 +121914,14 @@
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "ig_port",
+                        "field_bit": 30,
+                        "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 34
+                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 36,
-                    "seed": 1
+                    "hash_bit": 33,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -131939,10 +121932,10 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 2,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 5,
@@ -131969,22 +121962,16 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 17,
@@ -131993,82 +121980,16 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "ig_port",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 35
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -132077,10 +121998,10 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 24,
@@ -132107,19 +122028,235 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 0,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 32
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 1,
                         "field_name": "ig_port",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 36
+                        "hash_match_group_bit": 33
                       }
                     ],
-                    "hash_bit": 38,
+                    "hash_bit": 35,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 34
+                      }
+                    ],
+                    "hash_bit": 36,
                     "seed": 0
                   },
                   {
@@ -132137,6 +122274,114 @@
                         "hash_match_group_bit": 3
                       },
                       {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 35
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
                         "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -132155,10 +122400,10 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 7,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 8
+                        "hash_match_group_bit": 7
                       },
                       {
                         "field_bit": 9,
@@ -132167,40 +122412,52 @@
                         "hash_match_group_bit": 9
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 25,
@@ -132221,6 +122478,102 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 4,
+                        "field_name": "ig_port",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 36
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -132234,7 +122587,7 @@
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 0
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 0,
@@ -132267,7 +122620,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870958,
+                "action_handle": 536870954,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 176,
@@ -132284,7 +122637,7 @@
               },
               {
                 "action_name": "FabricIngress.next.output_xconnect",
-                "action_handle": 536870956,
+                "action_handle": 536870952,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -132309,7 +122662,7 @@
               },
               {
                 "action_name": "FabricIngress.next.set_next_id_xconnect",
-                "action_handle": 536870957,
+                "action_handle": 536870953,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -133083,7 +123436,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870958,
+          "handle": 536870954,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -133103,7 +123456,7 @@
         },
         {
           "name": "FabricIngress.next.output_xconnect",
-          "handle": 536870956,
+          "handle": 536870952,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -133146,7 +123499,7 @@
         },
         {
           "name": "FabricIngress.next.set_next_id_xconnect",
-          "handle": 536870957,
+          "handle": 536870953,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -133193,8 +123546,8 @@
     {
       "direction": "ingress",
       "attached_to": "FabricIngress.next.xconnect",
-      "handle": 1879048222,
-      "name": "cond-18",
+      "handle": 1879048215,
+      "name": "cond-12",
       "table_type": "condition",
       "stage_tables": [
         {
@@ -133209,7 +123562,7 @@
         }
       ],
       "condition_fields": [
-        { "name": "fabric_metadata.skip_next", "start_bit": 2, "bit_width": 1 }
+        { "name": "fabric_metadata.skip_next", "start_bit": 1, "bit_width": 1 }
       ],
       "condition": "(fabric_metadata.skip_next == 0)",
       "size": 0
@@ -133256,7 +123609,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777247,
+      "handle": 16777235,
       "name": "FabricIngress.next.next_vlan",
       "table_type": "match",
       "size": 2048,
@@ -133271,7 +123624,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870966,
+      "default_action_handle": 536870962,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -133313,270 +123666,6 @@
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 0,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 1,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 2
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133601,16 +123690,172 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 0,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 1,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 21,
@@ -133643,10 +123888,148 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 29,
@@ -133673,118 +124056,22 @@
                         "hash_match_group_bit": 5
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 6
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 17
                       },
                       {
                         "field_bit": 20,
@@ -133805,12 +124092,6 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133823,12 +124104,90 @@
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 5,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133853,12 +124212,222 @@
                         "hash_match_group_bit": 7
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 7,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133877,12 +124446,6 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133895,72 +124458,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -133985,96 +124482,6 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134085,72 +124492,6 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 31,
@@ -134171,12 +124512,6 @@
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134189,78 +124524,6 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 11,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134273,10 +124536,16 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 22,
@@ -134285,16 +124554,34 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       },
                       {
                         "field_bit": 30,
@@ -134303,6 +124590,96 @@
                         "hash_match_group_bit": 30
                       }
                     ],
+                    "hash_bit": 11,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
                     "hash_bit": 12,
                     "seed": 0
                   },
@@ -134315,58 +124692,10 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 13,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 12,
@@ -134375,16 +124704,10 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -134399,72 +124722,6 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134477,6 +124734,12 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134495,22 +124758,82 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 15,
+                    "hash_bit": 13,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 4
                       },
                       {
                         "field_bit": 10,
@@ -134549,28 +124872,106 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 24
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 30,
@@ -134591,52 +124992,46 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 30,
@@ -134646,7 +125041,7 @@
                       }
                     ],
                     "hash_bit": 17,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -134669,22 +125064,16 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 20,
@@ -134693,28 +125082,22 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 29
                       }
                     ],
                     "hash_bit": 18,
@@ -134741,12 +125124,6 @@
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134771,12 +125148,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -134789,32 +125160,32 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 19,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -134831,22 +125202,22 @@
                         "hash_match_group_bit": 10
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 21,
@@ -134855,34 +125226,28 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 20,
@@ -134903,28 +125268,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 17,
@@ -134939,46 +125286,34 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 20
+                        "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 21,
@@ -134993,10 +125328,10 @@
                         "hash_match_group_bit": 0
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 12,
@@ -135011,10 +125346,10 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 17,
@@ -135035,12 +125370,6 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135053,10 +125382,22 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 22,
@@ -135071,6 +125412,12 @@
                         "hash_match_group_bit": 1
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135089,34 +125436,16 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 26,
@@ -135125,12 +125454,6 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135144,7 +125467,7 @@
                       }
                     ],
                     "hash_bit": 23,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -135161,10 +125484,58 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 24,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 13,
@@ -135173,24 +125544,6 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135209,66 +125562,6 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 24,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 3
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135287,24 +125580,24 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135312,7 +125605,7 @@
                       }
                     ],
                     "hash_bit": 25,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -135323,10 +125616,10 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 12,
@@ -135341,16 +125634,22 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 23,
@@ -135359,16 +125658,10 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 28,
@@ -135377,14 +125670,14 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 26,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -135419,22 +125712,16 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 25,
@@ -135443,28 +125730,16 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 29
                       },
                       {
                         "field_bit": 31,
@@ -135485,40 +125760,28 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 24,
@@ -135527,22 +125790,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 29,
@@ -135551,6 +125802,12 @@
                         "hash_match_group_bit": 29
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135558,7 +125815,7 @@
                       }
                     ],
                     "hash_bit": 28,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -135569,22 +125826,22 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 16,
@@ -135605,24 +125862,42 @@
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135641,10 +125916,10 @@
                         "hash_match_group_bit": 29
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 29,
@@ -135659,22 +125934,10 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 18,
@@ -135683,34 +125946,22 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 30,
@@ -135731,46 +125982,58 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 12
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
+                        "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
                       },
                       {
                         "field_bit": 31,
@@ -135791,12 +126054,36 @@
                         "hash_match_group_bit": 9
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 14
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135815,6 +126102,234 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 2
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -135827,154 +126342,10 @@
                         "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 27,
@@ -135983,28 +126354,22 @@
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 34,
+                    "hash_bit": 35,
                     "seed": 1
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 2,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 11,
@@ -136019,22 +126384,16 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 19,
@@ -136043,18 +126402,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136073,34 +126420,64 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 35,
+                    "hash_bit": 36,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 5
                       },
                       {
                         "field_bit": 10,
@@ -136109,6 +126486,12 @@
                         "hash_match_group_bit": 10
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 11
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136127,96 +126510,6 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 36,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136235,10 +126528,10 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
                         "field_bit": 25,
@@ -136247,108 +126540,12 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136367,16 +126564,10 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 13,
@@ -136385,6 +126576,24 @@
                         "hash_match_group_bit": 13
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -136397,10 +126606,10 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 24,
@@ -136409,26 +126618,26 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 25
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 29
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 0
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 0,
@@ -136461,7 +126670,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870966,
+                "action_handle": 536870962,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 177,
@@ -136478,7 +126687,7 @@
               },
               {
                 "action_name": "FabricIngress.next.set_vlan",
-                "action_handle": 536870965,
+                "action_handle": 536870961,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 177,
@@ -137144,7 +127353,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870966,
+          "handle": 536870962,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -137164,7 +127373,7 @@
         },
         {
           "name": "FabricIngress.next.set_vlan",
-          "handle": 536870965,
+          "handle": 536870961,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -137250,7 +127459,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777248,
+      "handle": 16777236,
       "name": "FabricIngress.next.multicast",
       "table_type": "match",
       "size": 2048,
@@ -137265,7 +127474,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870964,
+      "default_action_handle": 536870960,
       "action_profile": "",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -137307,16 +127516,16 @@
                         "hash_match_group_bit": 64
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 74
+                        "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 78
                       },
                       {
                         "field_bit": 15,
@@ -137325,40 +127534,34 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 82
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
+                        "hash_match_group_bit": 87
                       },
                       {
                         "field_bit": 25,
@@ -137367,22 +127570,16 @@
                         "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 93
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 0,
@@ -137403,18 +127600,6 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137433,12 +127618,6 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137451,10 +127630,10 @@
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 21,
@@ -137469,16 +127648,10 @@
                         "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 1,
@@ -137493,84 +127666,6 @@
                         "hash_match_group_bit": 66
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 67
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137595,10 +127690,10 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 18,
@@ -137613,16 +127708,28 @@
                         "hash_match_group_bit": 83
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
+                        "hash_match_group_bit": 84
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 87
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
                       },
                       {
                         "field_bit": 28,
@@ -137631,6 +127738,60 @@
                         "hash_match_group_bit": 92
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 67
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137667,10 +127828,16 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 79
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 18,
@@ -137679,28 +127846,10 @@
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 89
                       },
                       {
                         "field_bit": 27,
@@ -137709,22 +127858,10 @@
                         "hash_match_group_bit": 91
                       },
                       {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 4,
@@ -137739,10 +127876,16 @@
                         "hash_match_group_bit": 69
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 76
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
                       },
                       {
                         "field_bit": 16,
@@ -137763,88 +127906,10 @@
                         "hash_match_group_bit": 83
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      }
-                    ],
-                    "hash_bit": 5,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 27,
@@ -137859,22 +127924,16 @@
                         "hash_match_group_bit": 94
                       }
                     ],
-                    "hash_bit": 6,
+                    "hash_bit": 5,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 7,
+                        "field_bit": 6,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 70
                       },
                       {
                         "field_bit": 13,
@@ -137889,46 +127948,28 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 86
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 87
+                        "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 89
                       },
                       {
                         "field_bit": 29,
@@ -137937,10 +127978,70 @@
                         "hash_match_group_bit": 93
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 94
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
                       }
                     ],
                     "hash_bit": 7,
@@ -137955,12 +128056,6 @@
                         "hash_match_group_bit": 72
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -137973,202 +128068,28 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 8,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 9,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 73
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 79
+                        "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 82
                       },
                       {
                         "field_bit": 20,
@@ -138177,18 +128098,6 @@
                         "hash_match_group_bit": 84
                       },
                       {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138201,26 +128110,200 @@
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
                       },
                       {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
-                      },
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
                       {
-                        "field_bit": 31,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 73
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      }
+                    ],
+                    "hash_bit": 9,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 73
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
                       }
                     ],
                     "hash_bit": 10,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -138237,22 +128320,22 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 78
+                        "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 83
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
+                        "hash_match_group_bit": 85
                       },
                       {
                         "field_bit": 23,
@@ -138273,12 +128356,6 @@
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138309,58 +128386,16 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 91
                       },
                       {
                         "field_bit": 28,
@@ -138369,14 +128404,14 @@
                         "hash_match_group_bit": 92
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 93
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 12,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -138387,22 +128422,22 @@
                         "hash_match_group_bit": 66
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 81
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 18,
@@ -138411,42 +128446,12 @@
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 86
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138457,10 +128462,16 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 13,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -138489,58 +128500,16 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 85
+                        "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 14,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 68
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
+                        "hash_match_group_bit": 79
                       },
                       {
                         "field_bit": 17,
@@ -138549,18 +128518,18 @@
                         "hash_match_group_bit": 81
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 84
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138579,12 +128548,6 @@
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138595,12 +128558,78 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      },
+                      }
+                    ],
+                    "hash_bit": 14,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
                       {
-                        "field_bit": 31,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 68
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 15,
@@ -138639,34 +128668,100 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 80
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 82
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 88
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      }
+                    ],
+                    "hash_bit": 16,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
                       },
                       {
                         "field_bit": 25,
@@ -138687,102 +128782,6 @@
                         "hash_match_group_bit": 91
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 16,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -138807,28 +128806,16 @@
                         "hash_match_group_bit": 71
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 74
+                        "hash_match_group_bit": 75
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
+                        "hash_match_group_bit": 82
                       },
                       {
                         "field_bit": 22,
@@ -138843,28 +128830,22 @@
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 90
+                        "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 91
+                        "hash_match_group_bit": 92
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 18,
@@ -138885,118 +128866,16 @@
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 19,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 24,
@@ -139015,24 +128894,24 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
-                    "hash_bit": 20,
-                    "seed": 1
+                    "hash_bit": 19,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 9,
+                        "field_bit": 8,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 73
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
                       },
                       {
                         "field_bit": 11,
@@ -139041,6 +128920,18 @@
                         "hash_match_group_bit": 75
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139053,16 +128944,10 @@
                         "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 22,
@@ -139083,12 +128968,6 @@
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139107,16 +128986,16 @@
                         "hash_match_group_bit": 94
                       }
                     ],
-                    "hash_bit": 21,
-                    "seed": 1
+                    "hash_bit": 20,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 0,
+                        "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 64
+                        "hash_match_group_bit": 73
                       },
                       {
                         "field_bit": 10,
@@ -139125,40 +129004,16 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
+                        "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 20,
@@ -139173,6 +129028,12 @@
                         "hash_match_group_bit": 85
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139185,10 +129046,106 @@
                         "hash_match_group_bit": 89
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 95
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 64
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
                       }
                     ],
                     "hash_bit": 22,
@@ -139209,60 +129166,6 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      }
-                    ],
-                    "hash_bit": 23,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139275,6 +129178,12 @@
                         "hash_match_group_bit": 76
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139287,6 +129196,18 @@
                         "hash_match_group_bit": 80
                       },
                       {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139309,10 +129230,100 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      }
+                    ],
+                    "hash_bit": 23,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 86
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 24,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -139329,10 +129340,16 @@
                         "hash_match_group_bit": 75
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
                       },
                       {
                         "field_bit": 16,
@@ -139341,10 +129358,22 @@
                         "hash_match_group_bit": 80
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 84
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
                       },
                       {
                         "field_bit": 23,
@@ -139353,16 +129382,16 @@
                         "hash_match_group_bit": 87
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 88
+                        "hash_match_group_bit": 91
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 93
                       },
                       {
                         "field_bit": 31,
@@ -139383,16 +129412,22 @@
                         "hash_match_group_bit": 68
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 83
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 20,
@@ -139407,16 +129442,34 @@
                         "hash_match_group_bit": 87
                       },
                       {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 93
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 26,
@@ -139431,6 +129484,18 @@
                         "hash_match_group_bit": 69
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 76
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139449,52 +129514,22 @@
                         "hash_match_group_bit": 83
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 27,
@@ -139509,112 +129544,16 @@
                         "hash_match_group_bit": 70
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      }
-                    ],
-                    "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 71
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 83
                       },
                       {
                         "field_bit": 20,
@@ -139623,6 +129562,12 @@
                         "hash_match_group_bit": 84
                       },
                       {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139647,6 +129592,42 @@
                         "hash_match_group_bit": 90
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      }
+                    ],
+                    "hash_bit": 28,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 71
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139671,12 +129652,6 @@
                         "hash_match_group_bit": 71
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139689,12 +129664,6 @@
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139707,18 +129676,84 @@
                         "hash_match_group_bit": 81
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 30,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 72
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 77
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 78
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 82
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139743,6 +129778,12 @@
                         "hash_match_group_bit": 88
                       },
                       {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 89
+                      },
+                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139753,78 +129794,12 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
-                      }
-                    ],
-                    "hash_bit": 30,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 72
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
+                        "hash_match_group_bit": 94
                       },
                       {
                         "field_bit": 31,
@@ -139845,16 +129820,10 @@
                         "hash_match_group_bit": 73
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
+                        "hash_match_group_bit": 74
                       },
                       {
                         "field_bit": 15,
@@ -139863,28 +129832,10 @@
                         "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
+                        "hash_match_group_bit": 84
                       },
                       {
                         "field_bit": 22,
@@ -139899,10 +129850,10 @@
                         "hash_match_group_bit": 90
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 92
+                        "hash_match_group_bit": 93
                       },
                       {
                         "field_bit": 30,
@@ -139923,12 +129874,6 @@
                         "hash_match_group_bit": 64
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 74
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139941,10 +129886,10 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 81
+                        "hash_match_group_bit": 78
                       },
                       {
                         "field_bit": 18,
@@ -139953,12 +129898,24 @@
                         "hash_match_group_bit": 82
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 85
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -139975,12 +129932,6 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 33,
@@ -139995,28 +129946,16 @@
                         "hash_match_group_bit": 65
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 77
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 79
+                        "hash_match_group_bit": 80
                       },
                       {
                         "field_bit": 17,
@@ -140025,10 +129964,88 @@
                         "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 85
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 34,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 66
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 81
                       },
                       {
                         "field_bit": 19,
@@ -140037,18 +130054,54 @@
                         "hash_match_group_bit": 83
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 86
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 90
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -140061,84 +130114,6 @@
                         "hash_match_group_bit": 95
                       }
                     ],
-                    "hash_bit": 34,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 66
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 83
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 89
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 93
-                      }
-                    ],
                     "hash_bit": 35,
                     "seed": 0
                   },
@@ -140157,16 +130132,10 @@
                         "hash_match_group_bit": 74
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 76
                       },
                       {
                         "field_bit": 14,
@@ -140175,16 +130144,10 @@
                         "hash_match_group_bit": 78
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
+                        "hash_match_group_bit": 79
                       },
                       {
                         "field_bit": 19,
@@ -140193,16 +130156,40 @@
                         "hash_match_group_bit": 83
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 88
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 92
+                        "hash_match_group_bit": 89
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
                       }
                     ],
                     "hash_bit": 36,
@@ -140217,162 +130204,6 @@
                         "hash_match_group_bit": 68
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 75
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 78
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 81
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 87
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 92
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 69
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 76
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 77
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 79
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 80
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 84
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 86
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 88
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 90
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 91
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 94
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 95
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 70
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 0,
@@ -140391,28 +130222,22 @@
                         "hash_match_group_bit": 76
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 77
+                        "hash_match_group_bit": 79
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 78
+                        "hash_match_group_bit": 81
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 82
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 0,
-                        "hash_match_group_bit": 85
+                        "hash_match_group_bit": 83
                       },
                       {
                         "field_bit": 22,
@@ -140421,10 +130246,94 @@
                         "hash_match_group_bit": 86
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 0,
-                        "hash_match_group_bit": 89
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 92
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 95
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 69
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 75
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 79
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 83
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 90
                       },
                       {
                         "field_bit": 27,
@@ -140443,10 +130352,82 @@
                         "field_name": "next_id",
                         "hash_match_group": 0,
                         "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 70
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 74
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 80
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 82
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 84
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 87
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 88
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 91
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 93
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 0,
+                        "hash_match_group_bit": 94
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 1
+                    "seed": 0
                   }
                 ],
                 "hash_function_number": 1,
@@ -140479,7 +130460,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870964,
+                "action_handle": 536870960,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 178,
@@ -140496,7 +130477,7 @@
               },
               {
                 "action_name": "FabricIngress.next.set_mcast_group_id",
-                "action_handle": 536870963,
+                "action_handle": 536870959,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 178,
@@ -141155,7 +131136,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870964,
+          "handle": 536870960,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -141175,7 +131156,7 @@
         },
         {
           "name": "FabricIngress.next.set_mcast_group_id",
-          "handle": 536870963,
+          "handle": 536870959,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -141268,14 +131249,14 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777249,
+      "handle": 16777237,
       "name": "FabricIngress.next.hashed",
       "table_type": "match",
       "size": 2048,
       "action_data_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 33554441,
+          "handle": 33554440,
           "name": "FabricIngress.next.hashed_selector"
         }
       ],
@@ -141295,7 +131276,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870962,
+      "default_action_handle": 536870958,
       "action_profile": "FabricIngress.next.hashed_selector",
       "default_next_table_mask": 0,
       "default_next_table_default": 0,
@@ -141343,10 +131324,16 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 17,
@@ -141361,16 +131348,10 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 25,
@@ -141379,20 +131360,32 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 0,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -141403,40 +131396,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 24,
@@ -141451,10 +131420,16 @@
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 29,
@@ -141467,12 +131442,6 @@
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 1,
@@ -141487,70 +131456,10 @@
                         "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 2,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 3,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 11,
@@ -141559,60 +131468,6 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 3,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141631,10 +131486,10 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 19,
@@ -141643,10 +131498,94 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 2,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 3
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 27,
@@ -141661,6 +131600,78 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 3,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141668,7 +131679,7 @@
                       }
                     ],
                     "hash_bit": 4,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -141685,34 +131696,28 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
                       },
                       {
                         "field_bit": 24,
@@ -141721,22 +131726,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 30,
@@ -141763,124 +131756,22 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 6,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 7,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 8,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 8
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 17
                       },
                       {
                         "field_bit": 19,
@@ -141901,12 +131792,6 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141919,6 +131804,84 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 6,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -141931,34 +131894,94 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 8,
+                    "hash_bit": 7,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
+                        "field_bit": 8,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 8
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      }
+                    ],
+                    "hash_bit": 8,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
                         "field_bit": 9,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 9
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 17,
@@ -141985,18 +132008,18 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142004,7 +132027,7 @@
                       }
                     ],
                     "hash_bit": 9,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -142021,40 +132044,22 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 21,
@@ -142063,10 +132068,10 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 26,
@@ -142075,16 +132080,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 10,
@@ -142105,16 +132104,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 15,
@@ -142129,10 +132122,10 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 19
                       },
                       {
                         "field_bit": 22,
@@ -142141,28 +132134,34 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 11,
@@ -142177,52 +132176,10 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      }
-                    ],
-                    "hash_bit": 12,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 2,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 2
+                        "hash_match_group_bit": 10
                       },
                       {
                         "field_bit": 11,
@@ -142231,16 +132188,22 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 18,
@@ -142255,12 +132218,6 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142273,40 +132230,64 @@
                         "hash_match_group_bit": 24
                       },
                       {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
                       }
                     ],
-                    "hash_bit": 13,
+                    "hash_bit": 12,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 3
+                        "hash_match_group_bit": 2
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 16,
@@ -142315,28 +132296,10 @@
                         "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 22,
@@ -142357,6 +132320,12 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142381,16 +132350,16 @@
                         "hash_match_group_bit": 31
                       }
                     ],
-                    "hash_bit": 14,
+                    "hash_bit": 13,
                     "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 4,
+                        "field_bit": 3,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 4
+                        "hash_match_group_bit": 3
                       },
                       {
                         "field_bit": 10,
@@ -142399,16 +132368,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 18,
@@ -142417,10 +132380,16 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 22,
@@ -142429,6 +132398,18 @@
                         "hash_match_group_bit": 22
                       },
                       {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142445,24 +132426,36 @@
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
                       }
                     ],
-                    "hash_bit": 15,
-                    "seed": 1
+                    "hash_bit": 14,
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
                       {
-                        "field_bit": 5,
+                        "field_bit": 4,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 5
+                        "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 12,
@@ -142477,10 +132470,10 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 14
+                        "hash_match_group_bit": 15
                       },
                       {
                         "field_bit": 17,
@@ -142489,10 +132482,16 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -142501,6 +132500,84 @@
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
+                    "hash_bit": 15,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142543,22 +132620,16 @@
                         "hash_match_group_bit": 6
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -142579,22 +132650,34 @@
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -142616,7 +132699,7 @@
                       }
                     ],
                     "hash_bit": 17,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -142627,16 +132710,10 @@
                         "hash_match_group_bit": 7
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
+                        "hash_match_group_bit": 12
                       },
                       {
                         "field_bit": 16,
@@ -142663,16 +132740,22 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 22
                       },
                       {
                         "field_bit": 27,
@@ -142681,20 +132764,14 @@
                         "hash_match_group_bit": 27
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 18,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -142705,16 +132782,16 @@
                         "hash_match_group_bit": 8
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -142723,16 +132800,16 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 17
+                        "hash_match_group_bit": 16
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 20,
@@ -142741,12 +132818,6 @@
                         "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142765,6 +132836,12 @@
                         "hash_match_group_bit": 25
                       },
                       {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142789,10 +132866,16 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
                       },
                       {
                         "field_bit": 19,
@@ -142801,16 +132884,16 @@
                         "hash_match_group_bit": 19
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 20
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 26,
@@ -142819,28 +132902,10 @@
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 20,
@@ -142861,10 +132926,58 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 21,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
                       },
                       {
                         "field_bit": 13,
@@ -142873,12 +132986,6 @@
                         "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142897,6 +133004,12 @@
                         "hash_match_group_bit": 19
                       },
                       {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -142921,94 +133034,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      }
-                    ],
-                    "hash_bit": 21,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 10
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
+                        "hash_match_group_bit": 28
                       },
                       {
                         "field_bit": 31,
@@ -143029,10 +133058,16 @@
                         "hash_match_group_bit": 1
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 14,
@@ -143041,28 +133076,16 @@
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 19
+                        "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 24
                       },
                       {
                         "field_bit": 25,
@@ -143084,7 +133107,7 @@
                       }
                     ],
                     "hash_bit": 23,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -143101,16 +133124,16 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 13
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -143119,46 +133142,28 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
                         "field_bit": 22,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 28,
@@ -143167,6 +133172,12 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
                         "field_bit": 31,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143185,10 +133196,22 @@
                         "hash_match_group_bit": 3
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 10
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -143197,6 +133220,138 @@
                         "hash_match_group_bit": 15
                       },
                       {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 25,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 4
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      }
+                    ],
+                    "hash_bit": 26,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
                         "field_bit": 16,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143215,84 +133370,6 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 25,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 4,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 4
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
                         "field_bit": 19,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143305,90 +133382,30 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 26,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
                         "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 23
                       },
                       {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
                         "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 26
                       },
                       {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
                         "field_bit": 29,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143425,22 +133442,22 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 14
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 18
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 21,
@@ -143449,16 +133466,10 @@
                         "hash_match_group_bit": 21
                       },
                       {
-                        "field_bit": 22,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 27,
@@ -143473,98 +133484,14 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 28,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 7,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 7
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 29,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -143581,16 +133508,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 11,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 11
                       },
                       {
                         "field_bit": 14,
@@ -143599,12 +133520,30 @@
                         "hash_match_group_bit": 14
                       },
                       {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
                         "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 18
                       },
                       {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143623,10 +133562,10 @@
                         "hash_match_group_bit": 24
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 26,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 26
                       },
                       {
                         "field_bit": 27,
@@ -143635,14 +133574,104 @@
                         "hash_match_group_bit": 27
                       },
                       {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 29,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 7,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 7
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
                         "field_bit": 28,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
                       }
                     ],
                     "hash_bit": 30,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -143659,10 +133688,88 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 15,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 25,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 25
+                      },
+                      {
+                        "field_bit": 26,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 26
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      }
+                    ],
+                    "hash_bit": 31,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 9,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 9
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 14,
@@ -143683,202 +133790,10 @@
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      }
-                    ],
-                    "hash_bit": 31,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 9,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 9
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 32,
-                    "seed": 0
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 0,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 0
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 22
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 25
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 28
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 33,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 1,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 1
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 13
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 19,
@@ -143905,6 +133820,72 @@
                         "hash_match_group_bit": 23
                       },
                       {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      }
+                    ],
+                    "hash_bit": 32,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 0
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 18,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 18
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -143929,14 +133910,86 @@
                         "hash_match_group_bit": 28
                       },
                       {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
                       }
                     ],
+                    "hash_bit": 33,
+                    "seed": 1
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 1
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 17
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
+                      },
+                      {
+                        "field_bit": 21,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 21
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 28,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 28
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      }
+                    ],
                     "hash_bit": 34,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -143953,10 +134006,10 @@
                         "hash_match_group_bit": 10
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 11
+                        "hash_match_group_bit": 13
                       },
                       {
                         "field_bit": 15,
@@ -143965,22 +134018,16 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 21,
+                        "field_bit": 18,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 21
+                        "hash_match_group_bit": 18
                       },
                       {
                         "field_bit": 22,
@@ -143989,16 +134036,16 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 24,
+                        "field_bit": 23,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 24
+                        "hash_match_group_bit": 23
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 27
+                        "hash_match_group_bit": 25
                       },
                       {
                         "field_bit": 28,
@@ -144017,10 +134064,16 @@
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
                       }
                     ],
                     "hash_bit": 35,
-                    "seed": 0
+                    "seed": 1
                   },
                   {
                     "bits_to_xor": [
@@ -144031,12 +134084,24 @@
                         "hash_match_group_bit": 3
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
                         "field_bit": 12,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 12
                       },
                       {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
                         "field_bit": 14,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144049,34 +134114,28 @@
                         "hash_match_group_bit": 18
                       },
                       {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 20
-                      },
-                      {
                         "field_bit": 21,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 21
                       },
                       {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
                         "field_bit": 25,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 25
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 27,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 26
+                        "hash_match_group_bit": 27
                       },
                       {
                         "field_bit": 28,
@@ -144085,12 +134144,6 @@
                         "hash_match_group_bit": 28
                       },
                       {
-                        "field_bit": 29,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 29
-                      },
-                      {
                         "field_bit": 30,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144104,7 +134157,7 @@
                       }
                     ],
                     "hash_bit": 36,
-                    "seed": 1
+                    "seed": 0
                   },
                   {
                     "bits_to_xor": [
@@ -144115,138 +134168,6 @@
                         "hash_match_group_bit": 4
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 23
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 26
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 30
-                      }
-                    ],
-                    "hash_bit": 37,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 5,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 5
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 11
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 12
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 14
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 15
-                      },
-                      {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 17
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 21
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 24
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 27
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 31
-                      }
-                    ],
-                    "hash_bit": 38,
-                    "seed": 1
-                  },
-                  {
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 6,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 6
-                      },
-                      {
                         "field_bit": 10,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144259,10 +134180,16 @@
                         "hash_match_group_bit": 11
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 12
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
                       },
                       {
                         "field_bit": 15,
@@ -144271,30 +134198,12 @@
                         "hash_match_group_bit": 15
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 16
-                      },
-                      {
                         "field_bit": 17,
                         "field_name": "next_id",
                         "hash_match_group": 1,
                         "hash_match_group_bit": 17
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 18
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "next_id",
-                        "hash_match_group": 1,
-                        "hash_match_group_bit": 19
-                      },
-                      {
                         "field_bit": 20,
                         "field_name": "next_id",
                         "hash_match_group": 1,
@@ -144313,10 +134222,154 @@
                         "hash_match_group_bit": 22
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 24,
                         "field_name": "next_id",
                         "hash_match_group": 1,
-                        "hash_match_group_bit": 25
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 30,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 30
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 37,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 5,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 5
+                      },
+                      {
+                        "field_bit": 10,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 10
+                      },
+                      {
+                        "field_bit": 11,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 11
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 13
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 14
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 22,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 22
+                      },
+                      {
+                        "field_bit": 23,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 23
+                      },
+                      {
+                        "field_bit": 24,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 24
+                      },
+                      {
+                        "field_bit": 27,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 27
+                      },
+                      {
+                        "field_bit": 29,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 29
+                      },
+                      {
+                        "field_bit": 31,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 31
+                      }
+                    ],
+                    "hash_bit": 38,
+                    "seed": 0
+                  },
+                  {
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 6
+                      },
+                      {
+                        "field_bit": 12,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 12
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 15
+                      },
+                      {
+                        "field_bit": 16,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 16
+                      },
+                      {
+                        "field_bit": 19,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 19
+                      },
+                      {
+                        "field_bit": 20,
+                        "field_name": "next_id",
+                        "hash_match_group": 1,
+                        "hash_match_group_bit": 20
                       },
                       {
                         "field_bit": 26,
@@ -144338,7 +134391,7 @@
                       }
                     ],
                     "hash_bit": 39,
-                    "seed": 0
+                    "seed": 1
                   }
                 ],
                 "hash_function_number": 2,
@@ -144371,7 +134424,7 @@
             "action_format": [
               {
                 "action_name": "nop",
-                "action_handle": 536870962,
+                "action_handle": 536870958,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 4294967295,
                 "next_table_full": 255,
@@ -144382,7 +134435,7 @@
               },
               {
                 "action_name": "FabricIngress.next.output_hashed",
-                "action_handle": 536870959,
+                "action_handle": 536870955,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 255,
@@ -144393,7 +134446,7 @@
               },
               {
                 "action_name": "FabricIngress.next.routing_hashed",
-                "action_handle": 536870960,
+                "action_handle": 536870956,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 255,
@@ -144404,7 +134457,7 @@
               },
               {
                 "action_name": "FabricIngress.next.mpls_routing_hashed",
-                "action_handle": 536870961,
+                "action_handle": 536870957,
                 "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
                 "next_table_full": 255,
@@ -145214,7 +135267,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870962,
+          "handle": 536870958,
           "primitives": [],
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -145234,7 +135287,7 @@
         },
         {
           "name": "FabricIngress.next.output_hashed",
-          "handle": 536870959,
+          "handle": 536870955,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -145274,7 +135327,7 @@
         },
         {
           "name": "FabricIngress.next.routing_hashed",
-          "handle": 536870960,
+          "handle": 536870956,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -145330,7 +135383,7 @@
         },
         {
           "name": "FabricIngress.next.mpls_routing_hashed",
-          "handle": 536870961,
+          "handle": 536870957,
           "primitives": [
             {
               "name": "CountPrimitive",
@@ -145411,7 +135464,7 @@
       "selection_key_name": "undefined",
       "how_referenced": "indirect",
       "max_port_pool_size": 120,
-      "bound_to_action_data_table_handle": 33554441,
+      "bound_to_action_data_table_handle": 33554440,
       "stage_tables": [
         {
           "stage_number": 11,
@@ -145439,7 +135492,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 33554441,
+      "handle": 33554440,
       "name": "FabricIngress.next.hashed_selector",
       "table_type": "action",
       "size": 32768,
@@ -145542,7 +135595,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870961
+              "action_handle": 536870957
             },
             {
               "memory_word_width": 128,
@@ -145576,7 +135629,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870959
+              "action_handle": 536870955
             },
             {
               "memory_word_width": 128,
@@ -145660,7 +135713,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870960
+              "action_handle": 536870956
             },
             {
               "memory_word_width": 128,
@@ -145684,7 +135737,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870962
+              "action_handle": 536870958
             }
           ],
           "memory_resource_allocation": {
@@ -145729,7 +135782,7 @@
       "actions": [
         {
           "name": "FabricIngress.next.mpls_routing_hashed",
-          "handle": 536870961,
+          "handle": 536870957,
           "p4_parameters": [
             {
               "name": "port_num",
@@ -145749,7 +135802,7 @@
         },
         {
           "name": "FabricIngress.next.output_hashed",
-          "handle": 536870959,
+          "handle": 536870955,
           "p4_parameters": [
             {
               "name": "port_num",
@@ -145761,7 +135814,7 @@
         },
         {
           "name": "FabricIngress.next.routing_hashed",
-          "handle": 536870960,
+          "handle": 536870956,
           "p4_parameters": [
             {
               "name": "port_num",
@@ -145773,7 +135826,7 @@
             { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
           ]
         },
-        { "name": "nop", "handle": 536870962, "p4_parameters": [] }
+        { "name": "nop", "handle": 536870958, "p4_parameters": [] }
       ],
       "static_entries": [],
       "how_referenced": "indirect"
@@ -145867,7 +135920,7 @@
     { "stage": 2, "gress": "egress", "match_dependent": true },
     { "stage": 3, "gress": "ingress", "match_dependent": true },
     { "stage": 3, "gress": "egress", "match_dependent": true },
-    { "stage": 4, "gress": "ingress", "match_dependent": true },
+    { "stage": 4, "gress": "ingress", "match_dependent": false },
     { "stage": 4, "gress": "egress", "match_dependent": true },
     { "stage": 5, "gress": "ingress", "match_dependent": true },
     { "stage": 5, "gress": "egress", "match_dependent": true },
@@ -145911,11 +135964,6 @@
       "value": "19522020"
     },
     {
-      "fully_qualified_name": "mau[0].rams.map_alu.stats_wrap[2].stats.statistics_ctl",
-      "name": "stage_0_statistics_ctl_2",
-      "value": "00000059"
-    },
-    {
       "fully_qualified_name": "mau[0].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
       "name": "stage_0_statistics_ctl_3",
       "value": "00000059"
@@ -145923,42 +135971,42 @@
     {
       "fully_qualified_name": "mau[0].dp.match_input_xbar_din_power_ctl",
       "name": "stage_0_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000100000000000000000000000000000002000000002000000000000000000000003000000430000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[0].dp.xbar_hash.hash.hash_seed",
-      "name": "stage_0_hash_seed",
-      "value": "00000002000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002000000000000000000000002000000000000000000000002000000020000000000000000000000020000000200000000000000020000000200000002000000020000000000000002000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000004000000030000000000000000000000000000002000000001000000000000000400000003000000410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[0].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_0_parity_group_mask",
-      "value": "00000002000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
       "name": "stage_1_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000080000000000000002000000040000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000000000000000000001000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[1].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_1_parity_group_mask",
+      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
       "name": "stage_2_statistics_ctl_3",
-      "value": "00000019"
+      "value": "00000059"
     },
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000000600000000000000000000000000000000000000000000000c0000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000004000000010000000000000000000000000000000000000001000000000000000400000082000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.hash_seed",
       "name": "stage_2_hash_seed",
-      "value": "00000000000000000000000000000001000000000000000000000001000000010000000000000000000000010000000000000001000000010000000100000000000000000000000000000000000000010000000100000000000000000000000100000001000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000000000000700000000000000010000000100000007000000060000000200000007000000010000000700000000000000030000000500000007000000030000000700000002000000030000000100000001000000030000000000000006000000030000000300000005000000010000000100000005000000070000000400000005000000000000000700000007000000000000000200000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_2_parity_group_mask",
-      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
@@ -145968,22 +136016,27 @@
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000004a00000000000000000000000000000048000000140000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[3].dp.xbar_hash.hash.hash_seed",
-      "name": "stage_3_hash_seed",
-      "value": "00000001000000020000000000000001000000030000000300000001000000000000000300000003000000010000000200000000000000030000000200000002000000020000000300000002000000030000000100000003000000000000000200000003000000010000000100000000000000020000000200000000000000000000000100000002000000020000000300000000000000000000000300000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000004000000000000000c00000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000200000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_3_parity_group_mask",
-      "value": "00000003000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "0000004a00000020000000000000000000000000000000140000000000000000000000000000000000000000000000000000001800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[4].dp.xbar_hash.hash.hash_seed",
+      "name": "stage_4_hash_seed",
+      "value": "00000001000000010000000000000000000000010000000100000001000000000000000100000000000000000000000100000001000000010000000000000000000000000000000000000001000000000000000100000000000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_4_parity_group_mask",
+      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[5].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
@@ -145993,22 +136046,17 @@
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000000000000000000000000000b00000000600000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
-      "fully_qualified_name": "mau[5].dp.xbar_hash.hash.hash_seed",
-      "name": "stage_5_hash_seed",
-      "value": "00000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001000000000000000000000000000000000000000000000000000000010000000100000001000000000000000000000000000000000000000000000001000000000000000100000001000000010000000000000001000000000000000000000001000000010000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[5].dp.xbar_hash.hash.parity_group_mask",
-      "name": "stage_5_parity_group_mask",
-      "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "fully_qualified_name": "mau[6].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
+      "name": "stage_6_statistics_ctl_3",
+      "value": "00000019"
     },
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
       "name": "stage_6_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000048000000000000000000000000000000100000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].rams.map_alu.stats_wrap[2].stats.statistics_ctl",
@@ -146023,12 +136071,12 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "00000010000000000000000000000000000000b0000000010000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000080000000000000000000000b0000000030000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.hash_seed",
       "name": "stage_7_hash_seed",
-      "value": "00000000000000000000000100000001000000000000000100000001000000010000000000000001000000000000000000000000000000010000000100000000000000010000000100000000000000010000000100000001000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000100000001000000010000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000000000000000000001000000000000000100000001000000000000000000000001000000000000000000000001000000000000000000000001000000000000000000000001000000010000000000000001000000000000000100000000000000000000000000000000000000010000000000000001000000010000000100000000000000000000000000000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -146038,7 +136086,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000008000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[8].dp.xbar_hash.hash.parity_group_mask",
@@ -146053,7 +136101,7 @@
     {
       "fully_qualified_name": "mau[9].dp.match_input_xbar_din_power_ctl",
       "name": "stage_9_match_input_xbar_din_power_ctl",
-      "value": "000000420000000000000000000000000000004800000008000000000000000000000008000000e400000000000000000000001800000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000009000000004000000000000000000000048000000000000000000000000000000900000000b00000000000000000000000000000000000000000000000000000002000000000000000c00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].rams.map_alu.stats_wrap[3].stats.statistics_ctl",
@@ -146063,12 +136111,12 @@
     {
       "fully_qualified_name": "mau[10].dp.match_input_xbar_din_power_ctl",
       "name": "stage_10_match_input_xbar_din_power_ctl",
-      "value": "0000002000000000000000000000000000000000000000100000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000080000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.hash_seed",
       "name": "stage_10_hash_seed",
-      "value": "00000000000000000000000100000000000000010000000000000000000000010000000100000001000000000000000100000001000000000000000000000000000000010000000100000001000000010000000100000000000000010000000000000000000000000000000000000001000000010000000000000001000000010000000000000001000000010000000100000001000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000000000000000000000100000001000000010000000100000000000000010000000000000000000000000000000100000000000000010000000100000000000000000000000000000000000000000000000100000001000000000000000000000000000000010000000000000000000000010000000100000000000000010000000000000000000000000000000000000000000000010000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.parity_group_mask",
@@ -146093,12 +136141,12 @@
     {
       "fully_qualified_name": "mau[11].dp.match_input_xbar_din_power_ctl",
       "name": "stage_11_match_input_xbar_din_power_ctl",
-      "value": "0000003000000001000000000000000000000000000000080000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000009000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.xbar_hash.hash.hash_seed",
       "name": "stage_11_hash_seed",
-      "value": "00000001000000040000000500000007000000060000000300000005000000060000000100000000000000060000000300000002000000030000000200000006000000070000000400000005000000040000000700000002000000070000000200000004000000000000000300000004000000000000000100000006000000070000000300000004000000030000000000000005000000040000000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000004000000050000000300000003000000020000000000000003000000020000000700000007000000040000000200000000000000000000000000000007000000070000000100000001000000050000000500000002000000070000000700000006000000050000000600000004000000070000000500000000000000030000000200000005000000040000000500000000000000030000000200000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.xbar_hash.hash.parity_group_mask",
@@ -146116,6 +136164,14 @@
           "slice": { "start_bit": 0, "bit_width": 8 }
         },
         {
+          "name": "^fields_md_ip_eth_type",
+          "slice": { "start_bit": 0, "bit_width": 16 }
+        },
+        {
+          "name": "^fields_md_mpls_ttl",
+          "slice": { "start_bit": 0, "bit_width": 8 }
+        },
+        {
           "name": "^fields_md_spgw_tunnel_src_addr",
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
@@ -146124,6 +136180,10 @@
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
         {
+          "name": "^fields_md_spgw_tunnel_src_port",
+          "slice": { "start_bit": 0, "bit_width": 16 }
+        },
+        {
           "name": "^fields_md_spgw_ipv4_len",
           "slice": { "start_bit": 0, "bit_width": 16 }
         },
@@ -146132,14 +136192,6 @@
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
         {
-          "name": "^fields_md_ip_eth_type",
-          "slice": { "start_bit": 0, "bit_width": 16 }
-        },
-        {
-          "name": "^fields_md_mpls_ttl",
-          "slice": { "start_bit": 0, "bit_width": 8 }
-        },
-        {
           "name": "^fields_md_spgw_ctr_id",
           "slice": { "start_bit": 0, "bit_width": 32 }
         },
@@ -146151,11 +136203,7 @@
           "name": "^fields_md_vlan_cfi",
           "slice": { "start_bit": 0, "bit_width": 1 }
         },
-        { "name": "__pad_0", "slice": { "start_bit": 0, "bit_width": 1 } },
-        {
-          "name": "^fields_md_spgw_outer_header_creation",
-          "slice": { "start_bit": 0, "bit_width": 1 }
-        },
+        { "name": "__pad_0", "slice": { "start_bit": 0, "bit_width": 2 } },
         {
           "name": "^fields_md_is_multicast",
           "slice": { "start_bit": 0, "bit_width": 1 }
@@ -146164,12 +136212,29 @@
           "name": "^fields_md_is_controller_packet_out",
           "slice": { "start_bit": 0, "bit_width": 1 }
         },
-        { "name": "__pad_1", "slice": { "start_bit": 0, "bit_width": 7 } },
+        { "name": "__pad_1", "slice": { "start_bit": 0, "bit_width": 2 } },
+        {
+          "name": "^fields_md_spgw_skip_egress_pdr_ctr",
+          "slice": { "start_bit": 0, "bit_width": 1 }
+        },
+        {
+          "name": "^fields_md_spgw_needs_gtpu_encap",
+          "slice": { "start_bit": 0, "bit_width": 1 }
+        },
+        {
+          "name": "^fields_md_fwd_type",
+          "slice": { "start_bit": 0, "bit_width": 3 }
+        },
+        {
+          "name": "^fields_md_spgw_skip_spgw",
+          "slice": { "start_bit": 0, "bit_width": 1 }
+        },
+        { "name": "__pad_2", "slice": { "start_bit": 0, "bit_width": 7 } },
         {
           "name": "^fields_ig_intr_md_ingress_port",
           "slice": { "start_bit": 0, "bit_width": 9 }
         },
-        { "name": "__pad_2", "slice": { "start_bit": 0, "bit_width": 4 } },
+        { "name": "__pad_3", "slice": { "start_bit": 0, "bit_width": 4 } },
         {
           "name": "^fields_md_vlan_id",
           "slice": { "start_bit": 0, "bit_width": 12 }
@@ -146178,7 +136243,7 @@
           "name": "^fields_md_mpls_label",
           "slice": { "start_bit": 0, "bit_width": 20 }
         },
-        { "name": "__pad_3", "slice": { "start_bit": 0, "bit_width": 4 } }
+        { "name": "__pad_4", "slice": { "start_bit": 0, "bit_width": 4 } }
       ]
     },
     {
@@ -146190,6 +136255,6 @@
       ]
     }
   ],
-  "run_id": "4d29057327ed256b",
+  "run_id": "59db6102c4b2ba2d",
   "driver_options": { "hash_parity_enabled": false, "high_availability_enabled": true }
 }
\ No newline at end of file
diff --git a/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/tofino.bin b/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/tofino.bin
index dc920c6..a555d2c 100644
--- a/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/tofino.bin
+++ b/src/main/resources/p4c-out/fabric-spgw/tofino/montara_sde_9_0_0/pipe/tofino.bin
Binary files differ